iFix和LK_PLC通讯测试文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LK PLC和IFIX通讯说明
LK PLC和IFIX可通过MODBUS和OPC建立通讯连接。
通过MODBUS通讯时,IFIX为主站,LK PLC为从站。
使用OPC方式时,IFIX为CLIENT端,LK为SERVER端。
1. 串口MODBUS RTU的实现(以COM1为例)
1.1. PLC参数设置及变量定义
PowerPro程序中加入HS_SetParameter_COM1功能块,用于选择COM1口的MODBUS协议、设置通讯参数。
参数只需一次,应避免重复设置,具体可以参见指令手册
图1-1 PLC串口通讯参数设置
图1-2 PLC串口通讯变量定义
1.2. IFIX参数设置
IFIX方面,其配置顺序如下:
首先要在系统中配置IO驱动器,在本说明文件中共用到3个IO驱动器,分别为MB1(MODBUS RTU)、MBE(Modbus Ethernet)和OPC(OPC Client),我们均选用7.X版本的IO驱动器。
图1-3 启动IFIX软件
图1-4 启动配置界面
图1-5 启动IFIX配置文件
图1-6 添加IO驱动器
其次配置驱动器中的参数,以及与PLC的通讯数据。
首先是在开始-程序-IFIX-MB1 Power Tool打开串口modbus驱动器,连接本地服务器上的配置文件。
图1-7 配置IO驱动器参数1
添加通道:
图1-8 配置IO驱动器参数2
配置通道参数:该参数应该与LK中HS_SetParameter_COM1中的参数一致。
图1-9 配置IO驱动器参数3
添加设备,配置Modbus从站地址
图1-10 配置IO驱动器参数4 添加数据块:数字量读写数据块
图1-11 配置IO驱动器参数5
添加数据块:模拟量实数读写数据块
图1-12 配置IO驱动器参数6 添加数据块:模拟量字读写数据块
图1-13 配置IO驱动器参数7
配置IFIX中数据管理器的数据块,并与驱动器连接。
图1-14 配置数据管理器参数
图1-15 配置实数读写数据块
在组态画面中配置模拟量字读写换面,模拟量实数读写画面,和数字量读写画面。
图1-15组态IFIX画面
1.3. 运行工程
完成以上驱动器、数据库标签定义,画面上对变量的操作设置便可以将工程进入到运行模式,进行测试了。
图1-16 IFIX组态画面显示
2. 网口MODBUS TCP的实现
2.1. PLC参数设置及变量定义
PowerPro程序中加入HS_ModBusTCPSlave功能块,以便响应Modbus主站的数据请求。
具体可以参见指令手册。
图2-1 PLC通讯参数设置
图2-2 PLC变量定义
2.2. IFIX参数设置
单机网络参数设置
在IFIX方面,同样要先配置IO驱动器,MBE:
添加设备,并配置设备的IP地址,以及Modbus从站地址
图2-4 配置设备参数
添加数据块:添加开关量读写数据块
图2-5 配置开关量读写数据块参数
图2-6 配置开关量读写数据块高级设置参数
图2-7 配置模拟量实数读写数据块参数
图2-8 配置模拟量实数读写数据块高级设置参数
图2-9 配置模拟量字读写数据块参数
图2-10 配置模拟量字读写数据块高级设置参数
冗余以太网的设置
如果LK系统选用的是冗余系统,此时以太网也是冗余的。
IFIX中支持设备的以太网冗余,只
需在设备配置时进行一些修改,设置方法如下:
图2-11 配置主机主网IP地址及Modbus从站地址
图2-12 配置主机备用网IP地址
图2-11 配置从机机主网IP地址及Modbus从站地址
图2-12 配置从机备用网IP地址
数据库管理器参数设置
配置IFIX数据库管理器中的数据块
图2-13 数据库管理器中的数据块
图2-14 组态IFIX画面
2.3. 运行工程
完成以上设备、变量定义,画面上对变量的操作设置便可以将工程进入到运行模式,进行测试了。
2.4. 注意事项
通过Modbus TCP通讯在拔网线的情况下,IFIX会重新建立新链接,对旧的链接不进行释放,
我们的CPU也不能够自动释放旧的链接,当链接数量开到32个时,CPU与IFIX通讯中断,不能够再次连接,解决方法只能够重新启动LK的CPU。
在由电脑来启停IO服务器时也会建立新链接,但是链接数量超过32个时能够与LK正常通讯,IFIX对旧的链接已经释放。
3. MODBUS通讯地址映射
表3-1 Modbus通讯地址映射表
4. OPC通讯的实现
4.1. PLC相关设置
PLC变量定义
图4-1 PLC变量定义
启动OPC驱动
安装PowerPro4.3.1BSP1后,在程序菜单中找到“HollySys PowerPro V4”,点击“工具”中的“OPC 通讯服务”,启动软件。
图4-2 OPC驱动器的启动界面
通讯配置
首次运行软件时,用户按照系统引导,利用鼠标右键依次添加“通道”、“设备”,如下图:
图4-3 OPC驱动器的参数配置
LK OPC SERVER支持LK冗余系统,用户可根据实际配置情况逐一设置即可。
定义变量
添加变量既可以在变量定义窗口(右侧)通过鼠标右键逐个添加,也可以在设备窗口(左侧),利用导入导出工具进行批量添加。
导入工具对于变量定义需要按格式填写,可先单独手动添加一个,导出变量文件(Excel文件),再按格式增加,最后导入即可。
图4-4 OPC驱动器的变量添加
LK OPC服务软件与LK主控进行数据通信采用符号表的方式,变量的“标签地址”为该标签在PLC中的变量名称,字母的大小写应一致,
图4-5 添加实型变量
注意:因采用符号表方式,要求PLC下载工程时,必须下载符号表。
OPC接口模式
OPC接口模式分为两种:点名模式、全路径模式;软件默认为点名模式,如图
图4-6 选择OPC接口模式
接口模式是指OPC Client 访问LK OPC SERVER 变量的方式。
IFIX中通过OPC通过点名模式添加来自LK OPC的变量。
OPC注册
运行前,最好手动进行LK OPC服务的注册。
点击程序菜单中的“OPC注册”。
图4-7 注册OPC
4.2. IFIX相关设置
添加OPC服务器
图4-8 添加OPC服务器
添加变量
IFIX可通过变量名称的方式与LK OPC连接,在变量定义对话框中的寄存器项中选择LK OPC SERVER中已经定义的变量即可,注意实际类型的一致性。
图4-9 添加OPC设备及组
图4-10 添加变量
图4-11 通过浏览选择变量并自动添加到数据库管理器
OPC Client连接
本地方式,OPC Server注册成功后,Client即可直接连接。
远程方式,进行DCOM配置。
DCOM 配置在不同操作系统下,具体步骤有所不同,详细说明请参看LK OPC服务软件中的帮助。
图4-12 配置数据库管理器数据块
图4-13 组态IFIX画面
4.3. 运行工程
完成以上设备、变量定义,画面上对变量的操作设置便可以将工程进入到运行模式,进行测试了。
深入理解ModBus功能码
Modbus主要功能码
15和16可能是用于一次写一串数据的,不允许单个写。
如时间的世纪、年、月、日、时、分、秒要一次写下去
*最大值与设备相关
注:设备地址是从1开始的,所以Modbus写入地址要在设备地址上减1。
协议格式
功能码:01(线圈状态0x)(读开出状态)
例:从4站读10…22(Coil 11…23),从A开始,共D(13)个数据
每个寄存器的数据为2个字节。
例:给17站从40002HR开始的2个寄存器,数据为000A和0102,MB地址:40002-1=40001=MB1
ModBus功能码与数据类型对应表
Modbus变量地址
FAQ0:ABB组态软件有功能块读线圈-1,读线圈-8,读寄存器-1,读寄存器-8的原因是什么?
因为Modbus功能码的读操作可以指定数据长度。
如果从站的地址连续,则可以用一次读八个变量的操作。
如果不连续,可以一次读一个。
读八个的效率要高一些。
FAQ1:MB地址的问题:MB经常用30001,40001这样的地址,WHY?给个理由。
ANS1:地址以3开头,如IFIX的mb1中地址用30001、3001、300001表示的是功能码4的操作,即读输入寄存器。
同理, 地址以4开头表示的是功能码3的操作,即对指的是对输出寄存器/内部寄存器进行的操作。
虽然Modbus 有两个字节表示地址0xFFFF,共64K,但是一般用不了那么多的。
例:高安屯垃圾电厂DCS Modbus通讯点表
DCS-TAG_№DESCRIPTION Type Data Addr.
XA 0FG10-1 ACTIVATED CARBON STORAGE SILO VENTING FILTER
FAN FAULT
DI BOOL 00407
HC #RC10-O No.# INLET DAMPER FOR NID SYSTEM A IN SERVICE
COMMAND
DO BOOL 10001
ATO #FG03-S No.# SET POINT SO2 EMISSION AO INT 30002
AI #RC01 No.# REACTOR INLET GAS SO2 ANALYZER AI INT 40001
注:地址以2开头表示浮点数,以0,1,3,4开头表示整数。
FAQ2 : Modbus功能码的名称来源是什么?
ANS2: 因为Modbus主要用于与PLC通讯,所以Modbus的地址空间命名也服从PLC的方式。
我一起在弄DCS,没玩过PLC。
所以没明白这个道理之前,根本搞不明白Modbus的功能码要那么叫,经过两天多的研究研究研究,终于大彻大悟了。
列出PLC 的线圈与寄存器的分配如下,以三菱FX2n 介绍:
辅助继电器 (M 线圈)
一般 500点 M0到M499 锁定 2572点 M384至M3071 特殊 256点 M8000至8255 状态继电器 (S 线圈)
一般
490点 S0至S499 锁定 400点 S500至S899 初始 10点 S0至S9 信号报警器 100点 S900至S999 数据寄存器(D ) 一般 200点 D0至D199
类型:32位元件的16位数据存储寄存器 锁定
7800点
D200至D7999
类型:32位元件的16位数据存储寄存器
文件寄存器
7000点
D1000至D7999通过14块500程式步的参数设置类型:16位数据存储寄存器 特殊 256点 从D8000至D8255 类型:16位数据存储寄存器 变址
16点
V0至V7和Z0至Z7 类型:16位数据存储寄存器
松下FP1—C40寄存器I/O 配置表 名称 符号
编号(地址) 功能说明
外部
输入/
输出 继电
器 X (位)
X0~X12F
(主机X0~X17) 输入继电器
总点数208点,主机24点,用来存储外部输入信号
WX (字)
WX0~WX12(13个字) Y (位)
Y0~Y12F (主机Y0~YF )
输出继电器
总点数208点,主机16点,用来存储程序运行结果并输出 WY (字)
WY0~WY12(13个字)
内 部
R (位) R0~R62F 通用内部继电器
只能在PLC 内部供用户编程使用,不能用于输出 WR (字)
WR0~WR62
R (位)
R9000~R903F
特殊内部继电器
继电器每个继电器均具有特殊用途,用户只能使用其接点,不能用程序控制其状态,不能用于输出
数据
寄存器DT(字)
DT0~DT1659(1,660字)
通用数据寄存器
用来存储PLC内处理的数据
DT9000~DT9069(70字)
特殊数据寄存器
具有特殊用途的数据寄存器,不能存储用户数据。