c++上位机程序中怎样才能读取台达PLC开关信号

如题所述

如果是用串口连PLC的话,就调用串口控件,Mscomm。
如果是以太网口连PLC的话,就用套接字socket控件吧。。
国产矩形PLC,是国产PLC的优秀代表!!追问

我只要读取台达PLC开关信号就好了,modbus ASCII通信格式,上位机调试运行下,发送数据出去,发现开关是否按下,收到的值都是很无规律的变化,我的问题是怎样才能捕捉到开关是否按下的信号??

追答

开关是否按下?——如果开关是那种自复位开关,按下的信号只占短短一瞬间,很难捕捉到。。可以在PLC内部写一个抓这个开关信号的梯形图,也就是只要按下开关一次,set置位某个辅助继电器,就可以了。

追问

对,您说的这个是个问题,但是我是在一直按着开关的情况下测验的,他收到的值还是会变,,,然后加了D0的寄存器,PLC中显示它的值是1,但是上位机调试时,它的第六个地址值还是在变,,,第一二三个是收到的固定格式,例如 03 FF 06  00 00 08 EF RG,最后的 是校验,就是这个08,没有规律的在变,所以不知道怎么捕捉它

追答

你这是什么协议?modbus-rtu还是Ascii码?这个返回报文看不懂啊,返回报文第一个都是站地址,但这个03如果是功能码,那后面的FF是什么?字节数FF是255,肯定是错的。

温馨提示:答案为网友推荐,仅供参考
相似回答