最近我在改造一台机器,原来的PLC是FX2N的,上面用了一个232的BD板,因为现在客户要求要通过和上位机进行数据的监控处理,所以我们决定先把FX2N的PLC换成FX3U的PLC,然后再加上一个串口模块来进行和上位机电脑的数据通讯。值得庆幸的是,PLC程序转换过来以后,基本上都是通用的,包括232BD板上面的通信程序,也就是说,程序直接转换过来一模一样,不需要改任何程序。
然后,就是开始动串口通讯的那个问题了,我们选用了一个FX3U-232-ADP的模块,这个从型号上就可以看出来,采用的是232通讯,然后我也按照三菱编程手册,三菱FX通讯手册来进行编程,其中因为源程序已经用到了RS指令,所以,要再加一个通讯模块的话,不能再次使用同一个指令,必须要用RS2指令,因为我也是第一次用这个指令,我一点头绪都没有,但是现在发现其实这个指令和RS指令是区别不大的,我指的是不是很复杂使用的话。这个指令的使用要注意的是,一个是通讯格式,会根据选择通道的不同来写入到不同的特殊寄存器,比如通道1就写入D8400,通道2就写入D8420,当然,发送和接收的特殊标记位也会相应改变,手册上都有。还有一个就是数据位数,我们知道RS指令是可以通过SET M8161来选择使用16位还是8位的,但是RS2指令只能使用16位数据,如果要用8位数据,要另作处理,怎么处理,肯定是有办法的。其实这些都不是标题所要表达的。
最有意思的就是下面这个,如果你还有耐心的话,有意思的就是在D8420里面,我前面说过,是通讯格式,会根据选择通道的不同来写入到不同的特殊寄存器,我这里选择的是通道2,然后就按照FX通讯手册上的D8420设置方法,选择232链接,波特率,数据位,停止位,这些都设置好,本以为下载到PLC以后就会看懂232ADP模块上的SD指示灯一闪一闪的,但是事实没有,我试过了很多方法,以为程序步数错了,需要用到主程序的最开头,但是没用。最后我发现的原因直接让我吐血,就是一开始的232链接要改成485的方式,就是说在D8420里面的232改成485,就能成功了,可是我是根据FX通讯手册来的啊,难道手册还有盗版的?真是分分钟吐血。。。
最后的问题就是在这里,大家有机会用到这个模块的时候可以注意一下,请大家不吝批评指正。