江西西门子6GK工业交换机一级代理商
概述
1.1 S7-1200 的PROFINET 通信口
S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP的通信标准。使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与HMI触摸屏的通信,以及与其它 CPU之间的通信。这个PROFINET 物理接口是支持10/100Mb/s的RJ45口,支持电缆交叉自适应,一个标准的或是交叉的以太网线都可以用于这个接口。
1.2 S7-1200支持的协议和的连接资源
S7-1200 CPU 的PROFINET 通信口支持以下通信协议及服务
? TCP
? ISO on TCP ( RCF 1006 )
? S7 通信 (服务器端)
通信口所支持的通信连接数
S7-1200 CPU PROFINET 通信口所支持的通信连接数如下:
? 3个连接用于HMI (触摸屏) 与 CPU 的通信
? 1个连接用于编程设备(PG)与 CPU 的通信
? 8个连接用于Open IE ( TCP, ISO on TCP) 的编程通信,使用T-block 指令来实现
? 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信
S7-1200 CPU可以支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
TCP(Transport Connection Protocol)
TCP是由 RFC793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internetprotocol) ,也就是“TCP/IP 协议", 它位于 ISO-OSI 参考模型的第四层。
协议的特点:
? 与硬件绑定的高效通信协议
? 适合传输中等到大量的数据 (<=8192 bytes)
? 为大多数设备应用提供
– 错误恢复
– 流控制
– 可靠性
? 一个基于连接的协议
? 可以灵活的与支持TCP协议的第三方设备通信
? 具有路由兼容性
? 只可使用静态数据长度
? 有确认机制
? 使用端口号进行应用寻址
? 大多数应用协议,如TELNET、FTP都使用TCP
? 使用 SEND/RECEIVE 编程接口进行数据管理需要编程来实现
1.3 硬件需求和软件需求
硬件:
① S7-1200 CPU
② S7-300 CPU + CP343-1(支持S7 Client)
③ PC(带以太网卡)
④ TP以太网电缆
软件:
① STEP 7 Basic V10.5
② STEP 7 V5.4
2. ISO on TCP 通信
S7-1200 CPU 与S7-300/400 之间通过ISO on TCP通信,需要在双方都建立连接,连接对象选择“Unspecified"。
所完成的通信任务为:
① S7-1200将DB3里的100个字节发送到S7-300的DB2中
② S7-300将输入数据IB0发送给S7-1200的输出数据区QB0。
2.1 S7-1200 CPU 的组态编程
组态编程过程与 S7-1200 CPU 之间的通信基本相似 (见 6.3 ),这里简单描述一下步骤:
① 使用STEP 7 Basic V10.5 软件新建一个项目
在STEP 7 Basic 的“Portal View"中选择 “Create new project"创建一个新项目
② 添加新设备
进入“Project view",在“Project tree"下双击“Add newdevice",在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 PLC_1。
③ 为 PROFINET 通信口分配以太网地址
在“Device View"中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET接口的属性,在 “Ethernet addresses"下分配IP 地址为 192.168.0.1,子网掩码为255.255.255.0。
④ 在 S7-1200 CPU 中调用“TSEND_C"通信指令并配置连接参数和块参数
在主程序中调用发送通信指令,进入“Project tree" > “ PLC_1">“Programblocks">“Main"主程序中,从右侧窗口“Instructions"> “ExtendedInstructions">“Communications"下调用“TSEND_C"指令,并选择“SingleInstance"生成背景 DB块。单击指令块下方的“下箭头",使指令展开显示所有接口参数。
创建并定义发送数据区 DB 块。通过“Project tree">“ PLC_1"> “Programblocks" >“Add new block" ,选择 “Data block"创建 DB块,选择寻址,点击“OK"键,定义发送数据区为 100个字节的数组。
根据所使用的参数创建符号表,如图1所示。
配置连接参数,如图2所示。
配置块接口参数,如图3所示。
图1 创建所使用参数的符号表图PLC tag
图2 配置连接参数
图3 配置 TSEND_C 块参数