楼主好,我有个通讯问题请教,我用fx1n的plc,用fx1n-485bd连接爱默生ev1000的变频器,是自由协议通讯,是8-n-1.9600波特率,,半双工的,三菱的客服说d8120要设置成h0f81(可说明书上说fx2n-485bd的才设置11和12位位1,1),fx1n-485bd的是设置h0c81(也就是11和12位是0,0)呢还是h0f81呢,望指点。再有就是还有人说两线制的485bd连接fx1n-485bd的时候,会产生2次接受数据,第一次是发送的,第二次才是变频器应答的,要去第二次的值才是变频器的数据,是这样的吗,这样产生的二次接受数据,怎样才能去掉那个自己发送的那个呢,我比着葫芦画瓢编了个程序,进行485通讯,结果产生的值是校验和的值,怎么回事呢,烦请指点迷津,谢谢。下边内容是以前发的帖子,请大家看看----fx1n和爱默生ev1000(原来华为td1000)的485通讯问题,是自由协议的不是modbus协议的。我变了个程序想查看变频器运行频率,结果不能正常通讯,不知啥原因,请各位看看,波特率是是9600,8-n-1。用fx1n-485bd,所以d8120是0f81.7e是帧头在d8124,0d是帧尾在d8125,超时是10ms在d8129,d150是变频器的频率,他的主机命令协议格式是010100000182,其中第一个01是地址,第二个01是上位机命令,0000是辅助索引和命令索引,0182是校验和,d108到d111是从机响应返回的数据,用hex把它变成16进制存在d150,这样读的就是变频器的频率了,可是我读出来的值是固定的是386(就是校验和0182的asci值),不知何故。我手动改变变频器的频率d150的值也不变化 ,图片可以另存为放大看。这个问题已经困扰我2个月了,跪求指教
回复 thatis19 :
[ FROM K0 K0 K2M100 K2 ] 相当于[ FROM K0 K0 K2M100 K1 ] + [FROM K0 K1 K2M108 K1 ]
它的意思是:
读取扩展特殊功能模块第0号,
BFM第0个缓存器的数据送入M107~M100, (K2M100指送8位,BFM0#低8位有效,高8位=0)
BFM第1个缓存器的数据送入M115~M108, (同上也是送8位,BFM1#低4位有效,高12位=0)
送2个缓冲寄存器.
MOV K4M100 D100
把M115~M100, 送入D100, (实际有效的是12位M111~M100)
相当于2的12次方即4096,取范围值0~4000
请参考我前面的47楼的解答。
回复 clcljb :
很可惜我没有爱默生EV1000来调试,只能纸上谈兵了。希望对你能够有所启发。
我还是那句话,把通讯任务分解开,用排除法找出各部分原因先。
找一个用RS485/RS232转换器,
利用电脑的串口软件分别测试变频器和FX1N,确认硬件线路和通讯格式,
比如变频器启动/停止/变频率/读频率/读状态这5个具体的数据内容,分别用16位H发和ASCII码发。
FX1N对着电脑串口都能任意的发送和接收规定数目的寄存器。
以上两步都能实现,然后再进行具体编程(把5个具体的数据内容转化成梯形图)。
看来FX1N-485BD的性能是不怎样,大家遇到类似通讯问题很多。
变频器是否可以设置无帧头/无帧尾/无校验?
你把帧头d8124和帧尾d8125取消了再试试。注意D8120也要改变。