我这次做的主要是在VB上做个小界面通过按钮控制下位机上的继电器开关,是通过与
modbus Poll建立连接,请求服务后进行操作。在
modbus Poll上可通过对单个线圈赋值0和1来控制继电器的开关,但是到VB上就不行了。只要对单个线圈强制就可以了,用功能码05就好。
问一下VB上可能直接给线圈赋值0或1来控制开关啊,还是要付其他的什么值?下面的这个程序是我写的读线圈状态的,可以实现:
Public m_svr2 As Object
Set m_svr2 = CreateObject("mbpoll.Document") ‘创建了一个VB对象
status = m_svr2.CreateRequest(2, 1, 0, 10, 100) '请求Polling服务,读线圈状态
Text1=m_svr2.Coil(1)’可以讲线圈1的状态显示在文本框中,显示的是1或0
但是要是写的话,譬如m_svr2.Coil(1)=1就没法实现。这个具体函数我是在网上看到一篇文章上的(http://blogold.chinaunix.net/u/15169/showart_111577.html),不过就是弄不出来很着急...