倍福与C#之ADS通讯--------学习笔记
前提:C#中引用“TwinCAT.Ads.dll”插件;倍福中建立需要读写的变量。
1,手动读写
通过“adsClient.CreateVariableHandle(“变量名”);”获取句柄;
通过“adsClient.ReadAny(句柄, typeof(变量类型))”,读取倍福中的变量,
通过“ 文本框内容 = adsClient.ReadAny(句柄, typeof(变量类型)).ToString();”,将从倍福读取到的内容填入窗体的文本框中;
通过“adsClient.WriteAny(句柄, 变量类型.Parse(文本框内容));”,将窗体中文本框的内容写入倍福。
2,定时读写
只需要将"ReadAny"和“WriteAny0”函数写在“timer_Tick”中即可,将“timer.Enabled”置为真,即可实现定时读写。
3,通知读取
通知读取,即在倍福中变量发生变化时,通过事件的方式,重新生成句柄,并自动读取变量。
通过“adsClient.AddDeviceNotificationEx(“变量名”, AdsTransMode.OnChange, 100, 0, 文本框名, typeof(变量类型))”,在变量发生改变(AdsTransMode.OnChange)时,生成新的句柄,
此时会调用“adsClient.AdsNotificationEx”事件函数,并将句柄传入事件函数;
在事件函数中添加订阅:“adsClient.AdsNotificationEx += new AdsNotificationExEventHandler(adsClient_A