力控与倍福PLC通讯主要是通过Modbus驱动和同步调库方式通讯
1.调库驱动
驱动介绍
力控的倍福驱动采用同步调库通讯方式,调用倍福TwinCAT中TcAdsDll.dll库文件实现通讯,支持倍福CX系列,BC系列和BX系列通讯,可读写变量(%Var)、%I、%Q、%M。
驱动ID及版本:PLC_BECKHOFF_ADS(6.0.0.16)
PLC软件版本: TwinCAT2、 TwinCAT3(版本选择和PLC型 、操作系统都有关系,主要看操作系统。倍福资料 址:
ftp://ftp.beckhoff.com.cn/)
我们力控调的是倍福的库,默认的是调用2.0的库,如果编程软件是3.0的,那就需要替换咱们安装路径下的库。本人用win 10 -TwinCAT3 /win 7 X64 -TwinCAT2/ XP -TwinCAT2 环境测试,均未替换库文件也可以通讯成功。
倍福软件配置
TwinCAT2
第一步:TwinCAT2安装软件重启后,从桌面右下角:
第二步:左面右下角打开System Manager
第三步:依次执行下图第1、2、3步 ,准备搜索设备
第四步:依次执行下图3步后,单击Add Router,增加路由连接设备。下图中“JJWC_01”处有一把“X”,表明已连接上该设备。
TwinCAT3:与TwinCAT2操作类似,如下图解。
力控设备添加
设备选择:PLC—德国(BECKHOFF)-CX系列 通讯方式:同步
AMSNetID:与Local Computer中对应
Port:TwinCAT2默认801, TwinCAT3默认851
故障恢复时间:指当通讯发生故障时,发起重试的周期;由于过于频繁的重试调用Beckhoff的库文件将消耗大量的资源,因此该时间不建议过快,应控制在5秒以上
数据连接
目前驱动支持变量名和寄存器地址两种数据连接方式
A. 变量名读取数据
组点连接:择“变量名”方式,并在变量名输入框中填入相应的变量名,择数据类型即可。
变量名的规则:
PLC全局变量:以PLCVar1为例,变量名的格式为“.PLCVar1”。
PLC局部变量:以程序MAIN中的局部变量PLCVar1为例,变量格式为“MAIN. PLCVar1”。
B. 寄存器地址读取数据
组点连接:进行组点联接时只要择对应的寄存器区域,数据类型,数据地址。
需要注意的是选择格式时一定要选择正确。比如,通常情况下都使用16位无符 数和16位符 数。而32位数据覆盖了两个寄存器,所以如果组了一个32位的点,那么这个点覆盖了相邻的两个寄存器。
或者如
其中
参数类型:M区 Q区 I区,三个寄存区,另为冗余配置参数。
数据类型:提供了所以基本类型。
地址偏移:每个数据所对应的地址偏移量。
位偏移:当数据为BIT型时需要指定位地址偏移量。
字符串长度:当数据为字符串型时需要指定字符串的长度,且长度小于63。
冗余项:本项为通讯冗余逻辑保留,由于本程序仅支持控制器冗余,故无效;
运行结果
修改plc中的值,运行结果
与力控通讯之前,可以先用测试工具与倍福PLC连接测试。
2.Modbus驱动
2.1 驱动介绍
用力控标准Modbus TCP驱动,该驱动支持功能码01,02,03,04,05,06,15,16等。
驱动名称及版本:Standard_UModbus
2.2 设备添加
设备选择:MODBUS-标准MODBUS-MODBUS TCP
2.3 数据连接
Modbus TCP地址与PLC地址的映射关系:
PLC寄存器 |
寄存器 |
Modbus地址 |
%IW |
AR输入寄存器 |
1-32768 |
%QW |
HR保持寄存器 |
1-12288 |
%MW |
HR保持寄存器 |
12289-24576 |
PLC中特定变量名与PLC地址的映射关系:
变量名 |
数据类型 |
寄存器 |
Modbus地址 |
.mb_Input_Coils |
ARRAY [0..255] OF BOOL |
DI离散输入寄存器 |
32769-33024 |
.mb_Output_Coils |
ARRAY [0..255] OF BOOL |
DO 线圈 |
32769-33024 |
.mb_Input_Registers |
ARRAY [0..255] OF WORD |
AR输入寄存器 |
32769-33024 |
.mb_Output_Registers |
ARRAY [0..255] OF WORD |
HR保持寄存器 |
32769-33024 |
2.4 运行结果
运行之后,通讯状态正常,力控与倍福PLC中数据一致。
附:倍福ADS测试工具
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!