有个老乡提出了一个问题:如何简单测PLC485通讯:
1、CPU224XP的P0口做MODBUS RTU主站、CPU226CN的P0口做MODBUS RTU从站、这两个口组成一个网络;
2、CPU226CN的P1口做MODBUS RTU主站、CPU224的P0口做MODBUS RTU从站、这两个口组成一个网络;
他在测试过程中发现上述第1步中CPU224XP的P0口不能读取CPU226CN的P0口的状态(后串口监视发现CPU224XP的P0口作为MODBUS RTU主站不发命令)今天先行测试了一下CPU226CN的P0口做MODBUS RTU从站、同时P1口做MODBUS RTU主站、这两个通信口分别通过两根USB转RS485电缆接到电脑上,电脑上分别运行两个MODBUS调试软件,调试软件一个做P0口的主站、一个做P1口的从站,经过测试通信正常,明天再链接其他PLC进行测试:
三菱PLC FX系列可以通过自身的编程口和计算机通信,也可通过通信口和计算机通信。通过编程口,一台计算机只能和一台PLC通信。实现对PLC中软元件的间接访问;通过通信口,一台计算机可与多台PLC通信,并实现对PLC中软元件的直接访问,但两者通信协议不同。
模拟电压输入:将模拟量输入模块FX2N—4AD与PLC相连。在模拟量输入1通道V+与VI-之间输入电压0~10V。
模拟电压输出:将模拟量输出模块FX2N—4DA与PLC 相连。在PLC输出口可以连接一个发光二极来表示电压变化。
数字量输入:按钮、行程开关等常用触点接PLC输入端点(X0、X1、···、X17与COM之间接开关)。
数字量输出:不需要连线,直接使用PLC提供的输出信号指示灯,也可外接指示灯或继电器等装置来显示开关输出状态。
首先,plc置于停止模式,用编程软件连接PLC,如果能连上,则表明RS485转换器接线正确,否则可能是RS485的+、-有误对调一下再试,确保硬件接线无误后,可以用串口调试软件或Modbus主站仿真软件测试,如果测试没问题,那就是你的上位机代码有问题。
目前,人们主要采用以下三种方式实现PLC与PC的互联通信:
一、通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
二、使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。
三、利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。这种方式由用户定义通信协议,不需要增加投资,灵活性好,特别适合于小规模的控制系统。