长治西门子模块代理商
编写通信程序
通过以太网进行站点间的通信有两种方式:1)UDP;2)TCP。
4.1 UDP通信方式
UDP通信协议不需要在通信前建立连接,在发送和接收的数据报文中带有通信方的IP地址和端口号。通信函数存储于在“Communication"->“Datatransfer"目录下,在发送方调用发送函数的示例程序如图12所示(使用LAD编写):
图12 UDP发送程序
发送函数参数解释如下:
SourcePort
发送方的端口号,数据类型UINT,例如2001。
DestinationAddress
接收方的IP地址,数据类型为数组,ARRAY [0..3] OFUSINT,在4个字节中输入接收方的IP地址,例如192、168、0、122,表示IP地址为192.168.0.122。
DestinationPort
接收方的端口号,数据类型UINT,例如2000。
CommunicationMode
通信模式,“EnumUdpCommunicationMode"枚举数据类型,有两种选择:
(1)“CLOSE_ON_EXIT",通信完成后释放通信资源;
(2) “DO_NOT_CLOSE_ON_EXIT", 通信完成后仍占用通信资源。
DataLength
发送的数据长度,数据类型UDINT,大长度1400字节。
Data
发送数据区,数据类型为数组,ARRAY [0..1399] OF BYTE。
OUT
发送函数状态信息,数据类型DINT。
在数据接收方调用接收函数的示例程序如图13所示:
图13 UDP接收程序
接收函数参数解释如下:
Port
定义本方的端口号,数据类型为UINT。定义的端口号必须与发送方参数“DestinationPort"的端口号相同。
CommunicationMode
通信模式,与发送函数通信模式相同。
NextCommand
枚举数据类型,元素中包括“IMMEDIATELY"、“WHEN_COMMAND_DONE"和“ABORT_CURRENT_COMMAND"。
“IMMEDIATELY":接收命令与后续所要执行的命令同步执行。
“WHEN_COMMAND_DONE":接收命令执行或失败后执行后续的命令,异步执行。
“ABORT_CURRENT_COMMAND":终止当前的任务后执行执行后续的命令。
ReceiveVariable
数据接收区,数据类型为数组,ARRAY [0..1399] OF BYTE。
黑河西门子代理商
OUT
接收函数信息,包括接收数据的源地址和端口、状态信息等,数据类型为结构体,接收函数信息参考表1:
表1:接收函数信息
结构 | 名称 | 数据类型 |
函数调用信息 | 结果 | DINT |
数据源地址 | 发送方IP地址 | ARRAY [0..3] OF USINT |
数据源端口 | 发送方端口 | UINT |
接收数据长度 | 接收到有效字节数 | UDINT |
4.2 TCP通信方式
TCP通信方式在发送接收数据前必须建立通信连接,连接需要在通信双方编程建立。主动连接的一方作为客户端,被动连接的一方作为服务器。下面以SIMOTIOND435与S7-300 CP343-1通信为例介绍TCP通信方式。
4.2.1在PLC侧建立通信连接
在STEP7项目下创建S7-300站点,插入以太网通信处理器CP343-1,选择与SIMOTION在相同的网络上。在NETPRO中点击CPU,在下面的连接表中插入一个连接如图14所示:
图14 建立TCP连接
连接的站点选择“Unspecified",连接方式选择“TCPconnection",点击“Apply"键确认进入连接属性界面,如图15所示:
图14 配置TCP常规信息
在“General Information"栏中,“BlockParameters"参数显示CP343-1的地址及连接号,这两个参数也是PLC调用发送和接收通信功能块赋值参数。“Activeconnectionestablishment"选项决定通信双方哪一个是主动连接(户端),哪一个是被动连接(数据服务器)。选择该选项为主动连接,在SIMOTION侧需要调用函数“_tcpOpenServer"与PLC建立连接,如果没有选择该选项为被动连接,在SIMOTION侧需要调用函数“_tcpOpenClient" 与PLC建立连接。本例中选择PLC为数据服务器,SIMOTION为户端。
点击“Address"栏配置SIMTION的IP地址及端口号,如图15所示:
图15 配置通信方IP地址
配置完成后将配置选项下载到PLC中。
可用于S7-200编程的CP卡包括CP5611(用于PCI总线的PC机),CP5511/CP5512(用于笔记本电脑)。以下统称为CP卡。使用CP卡进行编程通信,应使用MPI电缆,或者PROFIBUS电缆连接CPU上的编程口,或者带编程口的网络连接器上的扩展编程口,或者EM277模块上的通信口。
一、使用CP5711对S7-200plc的PPI通讯口进行编程通信需要满足的软件条件:
1、STEP 7 Micro/WIN V4.0 SP7 或更高版本
2、STEP 7 V5.4 SP5 或更高版本
3、需要 USB 适配器的PROFIBUS 驱动。该驱动在SIMATIC NET 2008 SP1及以后的SIMATIC NET PC软件中提供。CP5711的发货包中包含SIMATIC NET PC软件 。
二、使用CP5711对S7-200PLC的PPI通讯口进行编程通信驱动程序的安装步骤:
1、在计算机的光驱中插入 SIMATIC NET安装光盘,等待出现下面的对话框。如果过了一段时间(大约30秒)之后仍没有出现该对话框,说明计算机的自动启动功能没有开启。那么,在SIMATICNET 光盘的主目录中启动"Setup.exe" 程序。
2、遵守安装说明,选择产品"SIMATIC NET PC Software 2008"准备安装。
3、跳过 "Install License Key" 对话框,完成 SIMATIC NET PC 软件的安装。
在成功的安装了SIMATIC NET PC?软件之后安装之后,CP5711可在STEP 7 Micro/Win中用正常使用。
三、在STEP 7Micro/Win中的操作步骤:
1、将CP5711插入到电脑的 USB接口,其驱动会被自动检测安装。
2、启动"STEP 7 MicroWin,打开"Set PG/PC Interface"对话框。
3、在 "Interface Parameter Assignment Used"处选择"CP5711 PROFIBUS"。
4、点击"Properties..." 按钮打开参数设置对话框,设置"Transmission Rate" 为9,6kbps,"Profile" 参数设置为Universal DP/FMS
点击"OK" ,关闭"Set PG/PC Interface" 工具。
现在可以在STEP 7 MicroWin 中通过PPI 接口使用CP5711 访问S7-200 CPU。