厦门海为科技有限公司

请上传logo 请上传logo

国产PLC—Haiwell(海为)PLC与三菱PLC通讯介绍

2013-11-18 15:26:30 haiwell 2367

作者:海为用户  王工

概述:本文主要介绍了海为PLC与三菱FX2N系列进行通讯的实验情况。

关键字:海为PLC  FX2N  自由通讯  CRC校验

第一部分:研究情况简介

2012年的时候,我任某公司技术部部长,期间有个客户需要与公司的某防护装置进行通讯,需要使用海为PLC读取三菱PLC上的某些数据。为此就对海为PLC与三菱PLC通讯问题展开实验研究。

海为PLC通讯特点介绍:Haiwell PLC各种型号的主机都内置Modbus RTU/ASCII协议、自由通讯协议以及海为公司的HaiwellBus高速通讯协议。HaiwellBus高速通讯协议属于海为PLC与海为PLC内部通讯协议,因此不能使用。能应用到对外通讯的是Modbus协议以及自由通讯协议。

三菱PLC通讯特点介绍:三菱PLC对外通讯为无协议自由通讯,用于与计算机,条形码阅读器,打印机等带有RS232接口的设备进行全双工方式的串行数据通讯。

F64C4BDA-5B8F-4121-941B-046D8A1100B4.png

如上图所示,FX2N通过232IF与海为PLC的通讯扩展模块相连,采用无协议通讯方式,带CRC校验,最多一次发送512字节,接收256字节数据,通讯口资料格式设置为9600,N 8 2 RTU。

具体性能如下:

有效通讯距离:15米,实际试验过。

数据响应时间:传输的数据越多,扫描周期越长,传输相应越慢。当前程序扫描周期为26ms,传送0数据时为17ms,CRC校验用时14ms。传送一个字需要占用2ms。

5B89AD75-4165-4899-8AAE-15F43B7CD520.png

发送的数据如上图所示,FX2N的D199存放数据D200,D201,D202的CRC校验码,接收端PLC将接收到的D200,D201,202进行CRC校验,若数据一致则说明通讯正常,允许接收数据。若不一致,则认为出现干扰,拒绝接收。D212中存放的是一个以秒为周期进行变化的十进制数据,若接收端PLC在2秒的时间内接收到的D211中的数据没发生变化,则认为通讯中断。

第二部分:FX2N通讯程序介绍

1B4660CF-E23B-44bd-8B22-43014113BB3A.png

EACCFD2E-510C-4740-873F-6721BC7822B0.png

程序说明:该部分设置通讯格式和其他情况,具体情况参照通讯用户手册。本案例中取消发送报文,发送报尾,接收报头,接收报尾,否则海为PLC接收的数据为乱码。

B545564A-8752-4d39-9F04-FBF729EA4857.png

程序说明:激活发送指令,如果设置位M8012,则会发生发送数据响应不及时,部分时刻传输数据丢失的情况。M101继电器用于下文TO指令传送中。

24DAFF36-AFF1-494b-A5AE-2457D07010BB.png

程序说明:设置发送字节数,要发送的数据

9FEB1DEA-1028-469a-8086-6B4BC1056A98.png

程序说明:对D200进行以10ma为周期的数据变化,以模拟数据变化。

C4645BC1-3B05-4c0d-A68E-7094F0CA1B95.png

程序说明:指令传送

0E0C196D-7959-48f3-9064-A862D64748D7.png

9C80ECC0-67DC-4be3-8D1E-95F6E945463B.png

DC8F686C-578A-456c-87CB-C963DDC241E1.png

06B0D11F-A371-4b4a-9592-24B6166F58B5.png

程序说明:以上为CRC校验程序,介绍略。

89E015C1-F035-4664-843C-A6595480C9B9.png

程序说明:发送数据。

第三部分:海为通讯程序介绍

lQLPJxaJnktriMLNAsXNApyw5Bs2BkcxxysC4opJ3oAnAA_668_709.png

lQLPJxaJnktriKfNAfvNAsywuegBsMaHv8YC4opJ3YAsAA_716_507.png

lQLPJxaJnktriQTM7M0CUrA9OPKePFSXawLiiknewNIA_594_236.png

程序说明:如果1秒接收的数据相同,则认为通讯中断。

第四部分:调试心得

在调试中,最大的困难来源于三菱PLC程序,需要编写相当长的通讯指令以及CRC校验程序,虽然在网络上搜索到了上述程序的实例,但是编写成自己的程序并且调试完毕,仍然花费了很长的时间。别人调试好的程序到你手里不一定能用,需要你再次调试。CRC校验程序到底是怎么回事至今不明白,反正是抄写来了,而且能用,幸好没有抄错。

海为PLC在进行通讯的时候就两条指令,自由通讯指令COMM以及CRC校验指令,简单的不能再简单,其他的程序都是很简单的辅助程序。

在三菱PLC与海为PLC通讯成功的基础上,为公司几款主流安全防护设备用海为PLC增加了Modbus通讯功能。不仅组态王,易控等组态软件可以与公司设备通讯,其他厂家设备中的PLC也可以与公司设备进行通讯,使得公司设备的应用更加灵活,更受用户青睐。

lQLPJxaJnktriUPNAhHNAlawQnescTpGQfkC4opJ3oAnAQ_598_529.png

海为PLC在组网通讯上确实是一大亮点,三菱PLC做这个通讯的时候写了233条指令,用了三四天的功夫。海为PLC只用了2个指令。可以说海为PLC的出现让通讯程序不再是难题。


微信技术客服:08:30-21:00
0592-3278716
关注我们

海为公众号

海为云APP