Пример подключения к Siemens OPC Server из VFP (Visual FoxPro) для контроллеров S7-200
*!* в основном модуле проекта описываем подключение к Siemens OPC Server
*!* должна быть установлена PC Access от Siemens
goOPC = CREATEOBJECT("OPC.SiemensDAAuto")
goOPC.Connect("S7200.OPCServer")
goGrpCollect = goOPC.OPCGroups
goGrp = goGrpCollect.Add("USER1")
goItemsCollect = goGrp.OPCItems
*!* ну а далее добавляем элементы OPC сервера
*!* здесь они присваиваются свойствам формы
with ThisForm
.PresetScales1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW180", 1)
.PresetCement = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW190", 2)
.PresetWater = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW192", 3)
.PresetAdditive = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW196", 4)
.PresetScales2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW182", 5)
.PresetScales3 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW184", 6)
.ErrorScales1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW210", 7)
.ErrorCement = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW220", 8)
.ErrorWater = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW222", 9)
.ErrorAdditive = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW226", 10)
.ErrorScales2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW212", 11)
.ErrorScales3 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW214", 12)
.WeightScales1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW150", 13)
.WeightCement = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW152", 14)
.WeightWater = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW154", 15)
.WeightAdditive = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW156", 16)
.WeightScales2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW158", 17)
.WeightScales3 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.VW160", 18)
.LoadScales1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.M_08_6", 19)
.LoadCement1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_00_6", 20)
.LoadCement2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_02_5", 21)
.LoadWater = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.M_04_7", 22)
.LoadAdditive = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.M_08_2", 23)
.LoadScales2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.M_10_0", 24)
.LoadScales3 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.M_10_2", 25)
.UnloadScales1 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_01_5", 26)
.UnloadCement = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_02_0", 27)
.UnloadWater = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_02_1", 28)
.UnloadAdditive = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_02_3", 29)
.UnloadScales2 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_01_6", 30)
.UnLoadScales3 = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.Q_01_7", 31)
.SkipUp = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.I_00_0", 32)
.SkipDn = goItemsCollect.AddItem("MicroWin.RBU_20160707.User1.I_01_1", 33)
endwith
*!* пример чтения тэгов
WITH This
.PresetScales1 .Read( 1)
.PresetCement .Read( 1)
.PresetWater .Read( 1)
.PresetAdditive.Read( 1)
.PresetScales2 .Read( 1)
.PresetScales3 .Read( 1)
.ErrorScales1 .Read( 1)
.ErrorCement .Read( 1)
.ErrorWater .Read( 1)
.ErrorAdditive .Read( 1)
.ErrorScales2 .Read( 1)
.ErrorScales3 .Read( 1)
.WeightScales1 .Read( 1)
.WeightCement .Read( 1)
.WeightWater .Read( 1)
.WeightAdditive.Read( 1)
.WeightScales2 .Read( 1)
.WeightScales3 .Read( 1)
.LoadScales1 .Read( 1)
.LoadCement1 .Read( 1)
.LoadCement2 .Read( 1)
.LoadWater .Read( 1)
.LoadAdditive .Read( 1)
.LoadScales2 .Read( 1)
.LoadScales3 .Read( 1)
.UnloadScales1 .Read( 1)
.UnloadCement .Read( 1)
.UnloadWater .Read( 1)
.UnloadAdditive.Read( 1)
.UnloadScales2 .Read( 1)
.UnLoadScales3 .Read( 1)
.SkipUp .Read( 1)
.SkipDn .Read( 1)
ENDWITH
Комментарии:
Нету комментариев для вывода...