[收集-归纳]工业组态软件和下位通…

来源:互联网 发布:windows连接不到打印机 编辑:程序博客网 时间:2024/05/16 17:24
写在前面:
本文参考借鉴了网上资源,结合自己的亲自实践摸索总结了几大流行组态软件和下位的通讯问题。本文主要是介绍ModbusTCP-IP协议的通讯设置问题。
                                目录
1PLC与Intouch软件通讯设置
1.1 利用Modbus TCP/IP协议的通讯设置
1.1.1 IO Server软件配置
1.1.2 软件编程设置
1.1.3 IO Server状态监视
1.2 利用Modbus Plus协议的通讯设置
1.2.1 IO Server软件设置
1.2.2 软件编程设置
1.3 利用Modbus协议的通讯设置
1.3.1 IO Server软件设置
1.3.2 软件编程设置
1.4 注意
2 PLC与组态王软件通讯设置
2.1 利用Modbus TCP/IP协议的通讯设置
2.1.1工程浏览器中通讯设置(即与PLC通讯时的相关设置)
2.1.2 软件编程设置
2.1.3 数据状态监视
2.2 利用Modbus Plus协议的通讯设置
2.3 利用Modbus协议的通讯设置
2.4 利用Unitelway协议的通讯设置
3 PLC与iFIX软件通讯设置
3.1 利用Modbus TCP/IP协议的通讯设置
3.1.1 系统配置
3.1.2 数据库标签定义
3.1.3 软件编程
3.2 利用Modbus协议的通讯设置
4 施耐德PLC与WINCC通讯
5 施耐德PLC与世纪星(Pastools)通讯
5.1利用Modbus TCP/IP协议的通讯设置
6 通讯注意事项

1 PLC与Intouch软件通讯设置
Intouch软件中与施耐德PLC相关的驱动只有三种:Modbus TCP/IP、ModbusPlus、Modbus。
1.1 利用Modbus TCP/IP协议的通讯设置
1.1.1 IO Server软件配置
首先启动Intouch软件中的IOServer软件(软件与Intouch软件不同时提供,除非盗版):ModiconMODBUS Ethernet软件,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
IOServer软件选择画面
Server配置
软件启动后,点击Configure->Server Settings…菜单,见下图所示:
在弹出对话框中主要设置两个参数:
  • Protocol Timer Tick:该时间必须是最快刷新数据所需时间的2~4倍;
  • Start automatically as Windows NT Service:如需系统启动后,该IOServer驱动自动运行时,可以选中。
注意:
  • 上述设置在下次启动时自动生效。
[收集-归纳]工业组态软件和下位通讯总结
Server Settings设置画面
主题名配置
点击Configure->Topic Definition…菜单,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
Topic Definition设置画面
  点击New…按钮,可以添加一个主题名。主题名配置如下所示:
[收集-归纳]工业组态软件和下位通讯总结
主题名设置画面
对话框中设置的参数如下:
- Topic Name:连接的PLC设备的名称;
- IP Address:连接的PLC设备的IP地址;
- Dest_Index or Unit_ID:通过网关连接到以太网时,需要设置网关的映射值;没有时可以默认;
- Slave DeviceType:常见的共有下列类型:484、584/984、Micro84、Quantum等类型。
484对应CompactPLC(地址必须为4位);584/984对应Premium、Micro、TwidoPLC(地址必须为5位);Quantum对应Quantum PLC(地址必须为6位)。千万不能选错。
[收集-归纳]工业组态软件和下位通讯总结
PLC 设备类型选择参考
- Block IO Sizes:定义读写连续数据的最大值;
- Update Interval:数据刷新时间间隔。
- 其它参数可以默认。
1.1.2 软件编程设置
启动Intouch软件,在创建的窗口中放置一个控件,并链接一个变量。在动画链接中输入一个变量表达式中输入一个变量名,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
标记名输入对话框
[收集-归纳]工业组态软件和下位通讯总结
标记名设置对话框
[收集-归纳]工业组态软件和下位通讯总结
访问名对话框
[收集-归纳]工业组态软件和下位通讯总结
访问名设置对话框
在表达式输入框中双击,打开参数设置对话框,见下图所示,在对话框中需要设置如下参数:
- 标记名:即对应变量的变量名;
- 类型:即内部变量或IO变量,如果与PLC通讯,必须选择IO变量。
-访问名:即定义该变量对应的PLC设备名称、通讯协议名称、访问名称等;点击访问名按钮,访问名设置对话框见下图所示,在访问名设置对话框中设置的参数有:
- 访问名名称:可以与PLC设备名称相同,也可以不同,同一个PLC设备可以有多个访问名;
- 节点名:主要用于C/S结构设置;
- 应用程序名:如果采用以太网,必须设置为MBENET;
- 主题名:即PLC设备名,即读写哪个PLC数据,与IO Server软件配置中的对应。
- 项目名:即链接的IO地址;
- 上述设置结束后,将软件切换到运行状态,即可看到变量的相关状态。
1.1.3 IO Server状态监视
如果程序切换到运行状态时,可以切换到IOServer画面,可以看到相关的IO地址读写状态,如果窗口显示的状态为黑色,即与PLC通讯正常;如果显示为红色,则通讯中断。
[收集-归纳]工业组态软件和下位通讯总结
1.2 利用Modbus Plus协议的通讯设置
首先启动Intouch软件中的IOServer软件(软件与Intouch软件不同时提供,除非盗版):ModiconMODBUS Plus软件。
1.2.1 IO Server软件设置
Modbus Plus通讯与以太网的通讯区别在于增加了一个MBPlus Adapter CardSetting通讯卡(ISA、PCI卡)设置,其它参数设置完全相同。通讯端口设置对话框见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
通讯卡参数设置对话框
在通讯卡参数设置对话框中设置的主要参数有:
- Card Name:卡名,必须唯一;
- 适配器号:与卡对应;
- 内存地址:与SA85卡对应,如果是PCI卡,则忽略内存地址输入;
- 保留通道:介于0~7之间,主要用于其它编程设备。
1.2.2 软件编程设置
在标记名设置对话框中,除了访问名设置有区别外,其它参数设置完全相同。访问名设置画面见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
访问名设置对话框
在访问名设置对话框中的应用程序名称输入框中必须输入:MBPLUS;其它设置完全相同。
1.3 利用Modbus协议的通讯设置
首先启动Intouch软件中的IOServer软件(软件与Intouch软件不同时提供,除非盗版):ModiconMODBUS软件。
1.3.1 IO Server软件设置
Modbus通讯与以太网的通讯区别在于增加了一个通讯端口设置,其它参数设置完全相同。通讯端口设置对话框见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
通讯端口设置对话框
在设置通讯端口参数时,需注意通讯端口、波特率、数据位、停止位、校验方式等参数。
1.3.2 软件编程设置
在标记名设置对话框中,除了访问名设置有区别外,其它参数设置完全相同。访问名设置画面见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
访问名设置对话框
在访问名设置对话框中的应用程序名称输入框中必须输入:MODBUS;其它设置完全相同。
1.4 注意
- 如果读取浮点数数据,则在浮点数地址后加空格再加F(AddF),就可以了;




2 PLC与组态王软件通讯设置
在组态王中与施耐德PLC相关的协议有:Modbus Plus、Modbus ASCII、Modbus RTU、ModbusRTU unpack、Modbus(以太网)、ModbusServer(以太网)、ModRTUforDTU、TSXMicro八种。组态王中设置比其它监控软件要简单的多。
2.1 利用Modbus TCP/IP协议的通讯设置
首先启动组态王软件,组态王软件启动见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
组态王启动方式
2.1.1 工程浏览器中通讯设置(即与PLC通讯时的相关设置)
点击工程浏览器中的设备目录,在右边的窗口中双击新建图标,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
设备配置窗口
在弹出的对话框中选择相应的Modbus(以太网)目录,并打开,点击目录下的网卡。见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
Modbus TCP/IP以太网通讯选择窗口
点击“下一步”按钮,在弹出的窗口中输入设备名称,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
设备名称定义窗口
点击“下一步”按钮,在弹出的窗口中选择设备连接的串口号(这是我最郁闷的,以太网通讯为什么会选择串口),见下图所示。利用以太网通讯时,串口号可以随意选择。
[收集-归纳]工业组态软件和下位通讯总结
串口选择窗口
点击“下一步”按钮,在弹出的窗口中输入设备的IP地址,和所有上位监控软件类似,IP地址中预留了网关转换时的映射索引值。
注意:
- 组态王定义设备地址时,格式如下:IP地址单元号,IP地址和端口号(映射索引)之间有空格。如果没有网关,端口号为0;
- 组态王中定义的IP地址 和端口号要与PLC内的设置一致(主要指Concept软件);
- PLC可以是Quantum、Premium、Twido(Micro的以太网网关我没有,所以没法测试)。
[收集-归纳]工业组态软件和下位通讯总结
以太网IP地址输入框
点击“下一步”按钮,在弹出的窗口中输入相应的通讯参数(可以默认),见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
通信参数设置窗口
点击“下一步”按钮,在弹出的窗口中列出了刚才设置的所有参数信息。
[收集-归纳]工业组态软件和下位通讯总结
参数概览窗口
参数设置完成后,设备目录下参数显示见下图所示;
[收集-归纳]工业组态软件和下位通讯总结
设备参数显示窗口
2.1.2 软件编程设置
在软件编程时,首先点击工程浏览器窗口中的画面目录,在右边的新建图标上双击打开画面参数配置窗口,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
新建画面窗口
[收集-归纳]工业组态软件和下位通讯总结
画面参数设置窗口
在出现的画面中输入一个文字标签,在标签上双击,标签动画设置窗口见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
动画设置窗口
选中一个动画方式,在弹出的对话框中输入相应的变量(与PLC地址相对应的变量)名称,见下图所示;
[收集-归纳]工业组态软件和下位通讯总结
变量名称输入窗口
在上述窗口中也可以直接点击“?”按钮,在弹出的变量名称选择窗口中选择对应变量。
[收集-归纳]工业组态软件和下位通讯总结
变量名称选择窗口
如果想新建一个变量,点击窗口中的新建变量按钮,在弹出的对话框中设置需要的所有参数。变量参数设置窗口见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
变量参数输入窗口
常见变量对应的参数有:
- 变量名:必须唯一;
- 变量类型:内部或IO变量(读写外部设备数据);
- 连接设备:从下拉列表中选择,即在设备中定义的设备名;
- 寄存器:即变量对应地址;需要注意:在组态王中读写Quantum或Premium设备数据时,所有地址全部为5位。可以支持的地址类型、地址数量等参数(这也是我比较郁闷的,怎么能出来这么多没见过的地址格式)见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
地址定义格式
- 数据类型:即选择相应的数据类型,主要针对寄存器地址。
2.1.3 数据状态监视
确认上述输入,并保存画面修改,在工程浏览器中切换到运行画面,打开刚才设计的画面,即可看到相应的PLC数据。同时,在组态王信息窗口中可以看到下列信息:
[收集-归纳]工业组态软件和下位通讯总结
通讯成功后的信息窗口
注意:
- 在定义了一个变量后,如果修改变量的相关信息,必须在工程浏览器中的数据库->数据词典中进行修改;
-如果删除一个变量,必须先删除与变量相应的所有链接,然后在工程浏览器的工具->更新变量计数菜单中刷新,然后才能在数据词典中删除变量;
- 通过以太网连接Quantum和Premium PLC时,以太网设置完全相同,这点与Intouch不同。
2.2 利用Modbus Plus协议的通讯设置
利用Modbus Plus方式与ModbusTCP/IP方式通讯设置、软件编程设置类似,在通讯方式选择窗口中只需选择Modbus Plus方式即可。
[收集-归纳]工业组态软件和下位通讯总结
Modbus Plus通讯方式选择窗口
2.3 利用Modbus协议的通讯设置
利用Modbus方式与ModbusTCP/IP方式通讯设置、软件编程设置类似只不过需要注意在使用Modbus方式通讯时,方式有三种:RTU、ASCII、RTU(unpack)。前两种比较通用,后一种在帮助中没有提到,如有机会,可以试一下。Modbus通讯方式选择窗口见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
Modbus通讯方式选择窗口
2.4 利用Unitelway协议的通讯设置
利用Unitelway方式与ModbusTCP/IP方式通讯设置、软件编程设置类似只不过需要注意在使用Unitelway方式通讯时,必须选择TSXMicro目录下的“编程口”方式。Unitelway通讯方式选择窗口见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
Unitelway通讯方式选择窗口
使用Unitelway协议进行通讯时,必须注意以下事项:
- UNITEL协议支持与Premium系列PLC和在Uni Telway网络上的其它设备的通讯。此协议使用串行通讯,将使用你计算机中的串口。组态王在UniTelway网络中作为从站,你必须在网络中配置另一单元作为网络的主站;
-组态王设备地址要与PLC的设置保持一致。PLC地址通过PLC编程软件设定,当与一台PLC相连时,PLC设为主站,缺省地址为0;当与多台PLC相连时,其中一台PLC设为主站,缺省地址为0,其余PLC及计算机设为从站。最多可连接8个设备。
- 采用Unitelway协议支持的数据地址类型见下图所示:

寄存器名称

寄存器名格式

dddd 取值范围

数据类型

变量类型

辅助寄存器

MWdddd

0--1023

SHORT,USHORT

I/O整数,I/O实数

辅助寄存器

TIME

TIME

USHORT

I/O整数

Unitelway协议支持的数据类型

采用Unitelway协议通讯时,我采用了USB编程电缆进行连接,目前这种方式通讯没有成功,还需要进一步测试。


3 PLC与iFIX软件通讯设置
在iFIX中与施耐德PLC相关的协议有: Modbus ASCII、Modbus协议两种。
3.1 利用Modbus TCP/IP协议的通讯设置
启动iFIX软件,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
iFIX软件启动画面
iFIX软件启动后,画面显示见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
iFIX软件配置和编程画面
3.1.1 系统配置
iFIX软件配置和编程画面中,双击系统配置目录,弹出对话框见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
系统配置窗口
在系统配置窗口中,点击SCADA组态按钮,则SCADA组态窗口显示见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
SCADA组态窗口
在SCADA组态窗口中点击I/O驱动器名称选择按钮(即?),在弹出的对话框中选择相应的以太网驱动程序名(MBE)。并点击“增加”按钮添加到I/O驱动器配置列表中。确认以太网驱动程序名称添加到列表后,选中该驱动文件,并点击“配置…”按钮。在弹出的对话框中选择UseLocal Server,并点击Connect…按钮。系统自动进入以太网驱动配置工具窗口。见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
通道设置窗口(可以理解为协议)
在通道设置窗口中主要设置的参数有;
- 首先点击左下角“AddChannel”按钮,在设置窗口中输入相应的通道名称;
- 定义主通讯卡的卡号(PrimaryCard);这点很重要,需要选择以......(IP).....的设备端口,方可进行ModbusTCP/IP 的施耐德通讯,或者多次尝试尝试其他端口号。
-如果有备用通讯卡(即冗余通讯时有用),选中并设置备用通讯卡;
- 选中Enable选择框,则驱动文件开始驱动当前通道;
设置完通讯参数后,点击“AddDevice”按钮,系统自动进入设备设置窗口,如下图所示:
[收集-归纳]工业组态软件和下位通讯总结
设备设置窗口
在设备设置窗口中,需要设置的参数有:
- 输入设备名称和描述;
- 输入设备的IP地址(需要通讯的施耐德控制器的IP地址);
- 定义链接到同一驱动的设备最大数;
- 如果以太网是通过网关等设备进行链接时,需要设置映射地址;
- 如果有备用通讯卡,相应设置上述所有参数。
- 选中Enable选择框,则驱动文件开始驱动当前设备;
- 且可在Common端口设置中,配置Modbus寻址位数4、5(M580为5位)、6位。
设置完设备参数后,点击“Add Data Block”按钮,系统自动进入数据块设置窗口,如下图所示:
[收集-归纳]工业组态软件和下位通讯总结
数据块设置窗口
在数据块设置窗口中,需要设置的参数有:
- 输入数据块名称和描述;
-输入数据块的起始地址和终止地址(地址必须为6位由上步common设置确定)、数据块对应的数据类型;(注意,所设定的数据起始地址必须在所通讯器件支持的范围内,例如下图M580控制器设置全局地址段)%M00001~01024,%MW40000~41024。施耐德M580系列只支持%M和%MW,具体见unity帮助施耐德直接寻址数据实例。
[收集-归纳]工业组态软件和下位通讯总结
- 定义主、副卡的刷新数据的时间;
- 选中Enable选择框,则驱动文件开始驱动当前数据块;
注意:
- 一个设备可以有很多个数据块与之对应。
数据块设置结束后,点击“DataMonitor”按钮,我们即可以统计的方式或数据显示的方式看到该数据的相关信息。下图所示为数据块以在线统计方式显示的信息窗口:
[收集-归纳]工业组态软件和下位通讯总结
数据块监视窗口
确认数据通讯成功后,点击保存按钮,保存相关设置信息。并点击Options->Setup菜单,在弹出的窗口中选择DefaultConfiguration按钮,在DefaultConfiguration中输入该配置文件名称,在每次启动iFIX后,系统自动加载该配置文件,保证通讯正常。
[收集-归纳]工业组态软件和下位通讯总结
配置加载设置窗口
3.1.2 数据库标签定义
上述所有与通讯相关的配置全部设置结束后,即可以进行数据库标签定义了(即定义每一个与通讯相关的变量)。
在iFIX编辑环境下,双击数据库管理器目录,即可打开数据库管理器设置窗口。
[收集-归纳]工业组态软件和下位通讯总结
数据库管理器目录
[收集-归纳]工业组态软件和下位通讯总结
数据库管理器设置窗口
在数据库管理器设置窗口中的输入区域上双击,即可打开数据块类型选择窗口,见下图所示。在数据块类型选择窗口中需要设置相关的通讯数据类型。
[收集-归纳]工业组态软件和下位通讯总结
数据块类型选择窗口
选择需要的数据块类型后点击确定,即可弹出相应数据的设置窗口,见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
数据参数设置窗口
在数据参数设置对话框中需要设置的参数有:
- 标签名:即变量名;
- 驱动器名称:即设定的以太网的驱动协议;
- I/O地址:即访问设备中的某一地址。地址必须按照下列格式:Dev:Word[:Bit];
- 信号条件:可默认;
- 硬件选项:选择数据的类型;
- 工程单位:定义该数据对应的工程制数据的数据范围。
3.1.3 软件编程
在数据库管理器中将标签定义好后,即可进行编程。
首先新建一个画面,在画面中放置一个控件。在控件上双击,即可打开控件的相关动画参数设置窗口。选择相应的动画方式,链接相关的变量。将iFIX置于运行方式,即可看到相关的数据动画显示。见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
控件动画设置窗口
[收集-归纳]工业组态软件和下位通讯总结
数据链接窗口
3.2 利用Modbus协议的通讯设置
利用Modbus方式与ModbusTCP/IP方式通讯设置、软件编程设置类似只不过需要注意在使用Modbus方式通讯时,在SCADA组态窗口中点击I/O驱动器名称选择按钮(即?),在弹出的对话框中选择相应的Modbus驱动程序名(MBE)。并点击“增加”按钮添加到I/O驱动器配置列表中。确认Modbus驱动程序名称添加到列表后,选中该驱动文件,并点击“配置…”按钮。在弹出的对话框中选择UseLocal Server,并点击Connect…按钮。系统自动进入Modbus驱动配置工具窗口。见下图所示:
[收集-归纳]工业组态软件和下位通讯总结
SCADA组态窗口
进入Modbus驱动配置工具窗口中,常见的Modbus通讯参数设置主要有:
- 通讯端口:选择端口号;
- 通讯模式:直接连接、数传电台、调制解调器;
- 通讯参数:波特率、数据位、停止位、奇偶校验等;
- 通讯方式:RTU、ASCII;
- 通讯类型:Master、Slave;
参数设置窗口见下图所示:
其它参数及软件编程操作与ModbusTCP/IP设置完全相同,详见Modbus TCP/IP参数设置步骤。
[收集-归纳]工业组态软件和下位通讯总结
Modbus参数设置窗口


4 施耐德PLC与WINCC通讯





5 施耐德PLC与世纪星(Pastools)通讯
5.1利用Modbus TCP/IP协议的通讯设置
世纪星为川仪控制系统有限公司的合作产品,支持多种通讯,不过主要以串口通讯为主(帮助说明迷惑),其实支持市面上绝大多数产品的通讯协议。不过参数设置需要小小的注意,慢慢的摸索。
[收集-归纳]工业组态软件和下位通讯总结
同样,找到设备驱动管理,进入驱动设备管理。
[收集-归纳]工业组态软件和下位通讯总结
新建
[收集-归纳]工业组态软件和下位通讯总结
标准Modbus TCP/IP协议,选择即可。
[收集-归纳]工业组态软件和下位通讯总结
  特别注意:选择好TCP/IP设备后,其设置界面和串口界面相同(很容易迷惑)。其实最重要的是“初始化字”,其格式为“IP地址”+“:”+“端口号”。
“IP地址”:不用说,需要设置PC电脑的IP地址与实物PLC的IP地址在一个共同网段内。例如:PLC地址为192.168.0.10,则PC的TCP/IVP4协议属性中需要设置在192.168.0.1~192.168.0.255之间(除去192.168.0.10)。
关于IP地址再提一点,在仿真模式下,IP地址即为本机IP地址(虽然施耐德仿真设置的IP地址为127.0.0.1,但并无联系)
“端口号”:寻求百度百科帮助可知,端口号用于区分不同的设备,不同的通讯功能。HTTP网络使用80端口,FTP端口号21。施耐德帮助中有提及一般情况打开端口号502(绝大多数PLC如此),当然取决于自己的设定,例如ABB的AC500编程软件默认设置1201端口(Port)。
[收集-归纳]工业组态软件和下位通讯总结
设置完成后,可进行驱动设备测试。
[收集-归纳]工业组态软件和下位通讯总结
可以观察到,其Modbus地址起始为00001,必然与施耐德%M0有偏移1位。至于%MW位的整型,浮点型具体是否偏移,待读者探究。
6 通讯注意事项
- 由于在TwidoPLC中,能够读写的中间变量地址的个数与程序中使用的地址的最大值相关。因此,在监控软件中调用时,必须注意这个限制(尤其在iFIX中,因此,数据块中定义的数据量最少为2);
-在Intouch软件中,根据PLC型号的变化,地址的长度必须做相应的调整。在组态王和iFIX中不作调整,但是组态王中的地址为5位,iFIX中地址必须为6位;
- 上述所有设置方法,我已全部经过调试并调试成功。