LIBEIYING
各位大神:
本人第一次用信捷Modbus通讯,现要将伺服驱动器中位置超限输入端子状态读到PLC中。地址为0802、0803。已经定义伺服驱动器端子。程序我是这么编写的,不知道是否正确?请各位大神指导一下。因为是开关信号,我后面还用了个比较程序,等于1是为有输入,等于0时为无输入。对不对啊!
我用的是寄存器读指令“REGR”。要是用线圈读指令"COLR"可以吗?
阿水--王者之师
学习啦,不会玩这个 !
sunx_01
你要读取的是状态位,请换用线圈读指令 COLR
wds2jj
其实信捷PLC自带的MODBUS主站功能编程起来很麻烦,不如自己编写一个
欢迎加入直流屏销售、技术支持、探讨群316662402 本群为新开
万分感谢三楼的老师!
小迷糊虫
楼上的问题补充一下:一般伺服设备使用寄存器REGR指令,而且不能同时导通,使用PLC的同一个串口进行通讯时,不能在同一个条件下写多条读指令,最好使用不同的条件导通或者单独放置在流程图中
抱歉,不太明白6楼哥们的意思,信捷modbus指令如果这么落后的话,早应该被淘汰了。希望其他高手解惑!
myq_1
你的程序的写法是将伺服的站号设置的2,然后采用PLC通讯口1通讯的么?如果不是,你程序就写反了,modbus指令的第一个操作数应该是远端站号,最后一个操作数应该是通讯串口号,一般用485通讯,应该是串口2
谢谢8楼的myq_1,这个问题我看到了,因为考虑到在线调试及触摸屏通讯问题,我后期夹了一块COM口BD板,现在准备用BD板上的485口通讯,所以选择的是串口3。在这里不得不说信捷PLC毕竟是小品牌,加了BD板以后,Y1高速脉冲输出口又不能用了,逼着我换了一台XC5-32T-E型PLC(原来是XC5-48RT-E)郁闷。希望信捷早日发布中型PLC。
用块指令block写。