西门子电机6SL3120-2TE21-8AA3
一台三垦IPKW变频器在保修期内损坏,上电无显示。打开机器盖子,仔细的观察各个部分,发现充电电阻烧坏,接触器线圈烧断而且外壳焦糊。经过追问,原来用户电源电压低,变频器常常因为欠压停机,就专门给变频器配了一个升压器。但是用户并没有注意到在夜间电压会恢复正常,结果首先烧坏接触器然后烧坏充电电阻。由于整流桥和电解电容耐压相对较高而幸免于难。更换损坏器件修复。升降温检查法此法对于一些特殊的故障非常见效。人为地给一些温度特性较差的元件加温或降温,产生“病症"或“病症来查找故障原因。。
起动制动比较频繁,要求有较大的起动制动转矩的生产机械,如桥式起重机矿井提升机空气压缩机不可逆轧钢机等,应采用绕线式异步电动机。无调速要求,需要转速恒定或要求改善功率因数的场合,应采用同步电动机,例如中大容量的水泵,空气压缩机提升机磨机等。调速范围要求在∶以上,且需连续稳定平滑调速的生产机械,宜采用他励直流电动机或用变频调速的鼠笼式异步电动机或同步电机,例如大型精密机床龙门刨床轧钢机提升机等。要求起动转距大,机械特性软的生产机械,使用串励或复励直流电动机,例如电车电机车重型起重机等。
西门子模块6ES7321-1FF10-0AA0
MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet"和“Internet"环境中MODBUS报文的用途。协议的用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。
MODBUS/TCP 使MODBUS_RTU协议运行于以太网,MODBUS TCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUS TCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。MODBUS TCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,MODBUS TCP插入一个标准的MODBUS报文到TCP报文中,不再带有数据校验和地址。
1. 通讯所使用的以太网参考模型Modbus TCP传输过程中使用了TCP/IP以太网参考模型的5层:
第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容
第二层:数据链路层,格式化信号到源/目硬件址数据帧
第三层:网络层,实现带有32位IP址IP报文包
第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度
第五层:应用层,Modbus协议报文
2. Modbus TCP数据帧Modbus数据在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式,Modbus TCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节,如图1所示:
图1: MODBUS TCP报文
由于使用以太网TCP/IP数据链路层的校验机制而保证了数据的完整性,MODBUS TCP 报文中不再带有数据校验"CHECKSUM",原有报文中的“ADDRESS"也被“UNIT ID"替代而加在MODBUS应用协议报文头中。
3. Modbus TCP使用的通讯资源端口号在Modbus服务器中按缺省协议使用Port 502 通信端口,在Modbus客户器程序中设置任意通信端口,为避免与其他通讯协议的冲突一般建议2000开始可以使用。
4. Modbus TCP使用的功能代码按照使用的通途区分,共有3种类型分别为:
1) 公共功能代码:已定义好功能码,保证其性,由Modbus.org认可;
2) 用户自定义功能代码有两组,分别为65~72和100~110,无需认可,但不保证代码使用性,如变为公共代码,需交RFC认可;
3) 保留功能代码,由某些公司使用某些传统设备代码,不可作为公共用途。
按照应用深浅,可分为3个类别:
1) 类别0,客户机/服务器*小可用子集:读多个保持寄存器(fc.3);写多个保持寄存器(fc.16)。
2) 类别1,可实现基本互易操作常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。
3) 类别2,用于人机界面、监控系统例行操作和数据传送功能:强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23)。
5. Modbus TCP通讯应用举例在读寄存器的过程中,以Modbus TCP请求报文为例,具体的数据传输过程如下:
1) Modbus TCP客户端实况,用Connect()命令建立目标设备TCP 502端口连接数据通信过程;
2) 准备Modbus报文,包括7个字节MBAP内请求;
3) 使用send()命令发送;
4) 同一连接等待应答;
5) 同recv()读报文,完成一次数据交换过程;
6) 当通信任务结束时,关闭TCP连接,使服务器可以为其他服务。
下面章节将介绍如何使用软件选项包" ModbusTCP CP V4.3 "的功能块库配置S7-300/400单站系统通过CP343-1/CP443-1与第三方模拟软件进行Modbus/TCP进行通讯的详细步骤
1.“ ModbusTCP CP V4.3"块库使用说明1) 该功能块库可以用于S7-300单站通过CP343-1或S7-400单站通过CP443-1进行ModbusTCP通讯。
2) 由于需要在SIMATIC站与其他通讯伙伴之间建立TCP连接用于Modbus通讯,因此需要调用SIMATIC S7标准功能块,对于S7-300/400的CP来说,需要调用FC5(AG_SEND),FC6(AG_RECV)功能块。
3) 对于主要功能块FB106、107和108来说,包含了V1.x和V2.x,它们管脚参数并没有更改,只是在V2.x中增加了FC10"AG_CNTRL"功能块用于管理TCP连接,是否支持功能块与CP的型号和固件版本有关,如下图1所示:
图1 功能块V1.x和V2.x版本区别
当将软件选项包安装完集成到Step7时,可以在Step7安装文件的相应目录中找到块库、例程、英文手册,另外还可找到用CFC语言编程的功能快库,供读者选用,如下图2~4所示,在实际的项目调试过程中由于例子程序的各项功能比较完善,因此可以直接使用例子程序根据项目的实际情况修改相应的参数即可,可以节省大量的参数设置时间,以下主要描述了使用软件选项包" ModbusTCP CP V4.3 "配置S7-300/400站的详细配置和编程步骤。
图2 块库、例程、英文手册和软件注册的文件夹位置
图3 例程(注:当找不到例程时可以通过"Browse.."按钮来进行查找)
图4 功能块库(注:当找不到块库时可以通过"Browse.."按钮来进行查找)
2. 配置S7-400单站系统通过CP443-1 作为Server进行Modbus TCP通讯以S7-400单站系统及Modscan32软件为例,详细介绍如何将S7-400单站系统通过CP443-1配置为Server,Modscan32为Client进行Modbus TCP通讯,在本例中将使用带FC10"AG_CNTRL"版本的功能块,下图5为服务器功能块库的程序结构及各功能块完成的功能:
图5 服务器功能块库程序结构
注意:Modscan32软件可以从网上免费下载得到,本例中使用的版本为V7.0版,由于各版本的功能不尽相同,因此需要注意版本问题。
2.1 例子中使用的硬件设备及软件本例中所用的硬件设备如下表:
名称
数量
订货号
S7-400电源模块PS 407 10A
1
6ES7407-0KA01-0AA0
S7-400 CPU414-3PN/DP
6ES7414-3EM05-0AB0(V5.2)
S7-400 CP443-1
6GK7443-1EX41-0XE0(V1.0)
S7-400 机架
6ES7400-1JA00-0AA0
网线
若干
笔记本电脑
表1 服务器硬件清单
所用到软件如下表:
名称
订货号
STEP7 V5.5 组态编程软件 英文版
“ ModbusTCP CP V4.3" 软件选项包
2XV9450-1MB00
Modscan32 V7.0
表2 服务器软件清单
2.2 S7-400系统及Modscan32软件组态打开Step7软件,新建一个工程项目文件,命名为“M_TCP_CP_V43(Server)", 在项目下插入一个S7-400站,如下图6所示:
图6 新建S7-400 Station
双击插入的SIMATIC 400 Station的“Hardware",打开硬件组态,在硬件组态界面下分别插入机架,电源PS407、CPU414-3PN/DP、CP443-1,本例中将CP的IP地址设为,如下图7所示:
图7 硬件组态并设置CP443-1的IP地址
打开Netpro网络组态,选中CPU414-3PN/DP,插入一个新连接,连接伙伴为Unspecified,连接类型为TCP Connection,如下图8所示:
图8 网络组态-新建TCP connection
打开连接属性对话框中的“General Information",由于CP443-1做Server被动连接,因此不勾选“Active connection estabishment"选项,ID保持缺省即可,在“Address"栏中同样由于CP443-1做Server,因此填入连接的Port号设置为502,组态完成后,编译保存,将例程站点“SIMATIC 400(Server)"中的程序(System data不需要拷贝)拷贝到该项目中并下载(注意:OB100中调用的FB108的id和laddr需根据组态确认)。对于通讯伙伴Remote的IP地址可以不填,即允许任意IP地址的客户端发起连接,如下图9所示:
图9 S7-400为服务器的TCP connection参数设置
对于服务器和客户端的端口号(下述中以Port代替)的选择需要注意以下几点:
1)一般情况下服务器端的Port号modbus TCP规范缺省为502,客户端的Port号设置为客户端允许的号即可,另外各厂商产品也有一些限制,对于SIMATIC产品一般从2000之后开始。
2)对于一个系统来说,当创建多个TCP连接时,要保证IP地址和Port号不重合,即同一个IP地址下创建多个TCP连接时Port号必须不同,而不同的系统因IP地址不同可以使用相同的Port号,例如本例中如果需要创建多个TCP连接作为Server时因只有一个IP,因此Port号必须不同。
与SIEMENS传统plc (如S7-300)不同,WinAC RTX软PLC安装于Windows环境,因此其组态和程序的下载也有所不同,如图1所示共有5种方式:
图1
1. WinAC RTX与组态软件Step 7安装在同一SIMATIC IPC中,这样Step 7可通过PC Internal (Softbus) 通道来访问WinAC RTX,下载组态和程序。
2. 安装Step 7的编程设备通过PROFIBUS/PROFINET与作为WinLC RTX子模块(SubSlot)的通信卡相连接。这种方式与通过S7-300的集成通信接口(PROFINET/PROFIBUS)下载组态和程序的方式一致。
3. 安装Step 7的编程设备通过PROFIBUS连接到组态为WinAC RTX 所在PC站的通信卡的PROFIBUS接口。这样可经过PC站的PROFIBUS通信卡,再通过软总线(Software Bus)的路由,*后连接到WinLC RTX下载组态和程序。
4. 安装Step 7的编程设备通过以太网连接到已组态为WinAC RTX 所在PC站的通信卡的以太网接口。这样可经过PC站的以太网通信卡,再通过软总线(Software Bus)的路由,*后连接到WinLC RTX下载组态和程序。
5. 可通过WinLC RTX的控制面板菜单中的“恢复”选项来将备份的组态和程序下载到WinLC RTX中。
下面通过例子详细说明具体组态情况。
方式1:
如图2所示,有一台安装有WinAC RTX和Step 7的SIEMENS 工控机,组态PC站名称为Way1。
图2
通过双击桌面上的站组态管理器快捷方式或双击系统托盘上的小电脑图标打开站组态管理器。查看“站组态管理器Station Configuration Editor”中PC站的属性,并将其设置为Way1,与硬件组态中名称一致,如图3所示。
图3
下载硬件前应确保站组态管理器中各虚拟槽位上安装的组件与Step 7项目中的硬件组态中PC站各槽位上安装的组件一致(本例程中只在第2槽组态了WinLC RTX,而且WinLC RTX的4个子插槽均为空)。然后,通过Step 7菜单“Options”打开“Set PG/PC Interface”界面,如图4所示,选择访问点为“S7onLINE (STEP7) PC Internal(local)”,点击“OK”完成设置。启动WinLC RTX之后便可下载PC站的组态和程序。
图4
强烈建议不要在预装有嵌入版Windows的Microbox 和 EC31上安装Step 7,这样会占用CF卡上很大的空间,而且Step 7会在Windows启动后加载一些后台服务,会消耗系统资源。
方式2:
如图5所示,有一台预装有WinAC RTX F 的Microbox 427,组态PC站名称为Way2。Microbox 427集成的PROFIBUS接口组态为WinLC RTX F子模块 (SubSlot)。
图5