S7-1200与S7-300的以太网TCP 及ISO on TCP通信

    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是由 RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一 条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internet protocol) ,也就是“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 new device”,在对话框中选择所使用的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”>“Program blocks”>“Main”主程序中,从右侧窗口“Instructions”> “Extended Instructions”>“Communications”下调用“TSEND_C”指令,并选择“Single Instance”生成背景 DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。
    然后,创建并定义发送数据区 DB 块。通过“Project tree”>“ PLC_1”> “Program blocks” >“Add new block” ,选择 “Data block”创建 DB 块,选择**寻址,点击“OK”键,定义发送数据区为 100个字节的数组。
    根据所使用的参数创建符号表,如图1所示。
    配置连接参数,如图2所示。
    配置块接口参数,如图3所示。


    图1 创建所使用参数的符号表图PLC tag


    图2 配置连接参数


    图3 配置 TSEND_C 块参数

    ⑤ 调用“TRCV”通信指令并配置块参数如图6 47所示。
    因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“Connection ID”号,如图4所示。


    图4 配置 T_RCV 块参数

    2.2 S7-300 CPU 的ISO on TCP通信的组态编程
    ① 使用STEP 7 软件新建一个项目并进行硬件组态
    创建完新项目,在项目的窗口下,右键菜单里,选择“Insert New Object”>“SIMATIC 300 Station” ,插入一个S7-300 站。
    为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/Clock Memory”中设置,如图5所示。


    图5 设置时钟脉冲

    每一个时钟位都按照不同的周期/频率在0和1之间切换变化,见表1。
    表1:时钟位频率

    周期(S201. Jun10.80.50.40.20.1
    频率(Hz0.50.6251Jan 25202. Mai510

    ② 配置以太网模块
    进入“HW Config”中,组态所使用的 CPU 及“CP343-1”模板。并新建以态网 Ethernet (1) ,配置“CP343-1”模板IP 地址为:192.168.0.2,子网掩码为: 255.255.255.0 。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。


    图6 S7-300 硬件配置

    ③ 网络组态
    打开 “NetPro” 配置网络,选中 CPU,在连接列表里建立新的连接并选择连接对象和通信协议,如图7所示。


    图7 创建新的连接并选择 ISO-on-TCP 协议

    这时会跳出通用信息,如图8所示。


    图8 通用信息

    然后,进入“Addresses”配置通信双方的IP 地址及TSAP 地址,如图9所示。


    图9 配置通信的IP 地址及TSAP 地址

    配置完连接并编译存盘后,将网络组态下载到CPU300中。

    ④ 软件编程
    在OB1中,从“Libraries”>“SIMATIC_NET_CP”>“CP300”下,调用FC5(AG_SEND)、FC6(AG_RECV)通信指令。创建接收数据区为 DB2,定义成100个字节的数组。
    CALL “ AG_RECV” //调用FC6
    ID :=1 // 连接号,要与连接配置列表中一致,见图8
    LADDR :=W#16#100 //CP的地址,要与配置中一致,见图8
    RECV :=P#DB2.DBX 0.0 BYTE 100 //接收数据区
    NDR :=M10.0 //为1时,接收到新数据
    ERROR :=M10.1 //为1时,有故障发生
    STATUS :=MW12 //状态代码
    LEN :=MW14 //接收到的实际数据长度

    CALL “AG_SEND” //调用FC5
    ACT :=M0.2 //为1时,激活发送任务
    ID :=1 // 连接号,要与连接配置中一致
    LADDR :=W#16#100 //CP的地址,要与配置中一致
    SEND :=IB0 //发送数据区
    LEN :=1 //发送数据的长度
    DONE :=M10.2 //为1时,发送完成
    ERROR :=M10.3 //为1时,有故障发生
    STATUS :=MW16 //状态代码

    2.3 监控通信结果
    下载S7-1200和S7-300中的所有组态及程序,监控通信结果,如图10、图11所示。
    在S7-1200 CPU中向DB3中写入数据:“11”、“22”、“33”,则在S7-300中的DB2块收到数据也为“11”、“22”、“33”。
    在S7-300 CPU中,将“2#1111_1111”写入IB0,则在S7-1200 CPU中QB0中收到的数据也为“2#1111_1111”。


    图10 S7-1200监控表


    图11 S7-300 变量表

    3. TCP 通信
    使用TCP 协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISO on TCP 协议通信完全相同。
    S7-1200 CPU中,使用 TCP 协议与S7-300通信时,PLC_1的连接参数,如图12所示。通信伙伴 S7-300 的连接参数,如图13所示。


    图12 S7-1200 的TCP连接参数的配置


    图13 S7-300 的TCP连接参数的配置


    上海腾希电气技术有限公司专注于西门子PLC,V90伺服,V20变频器等, 欢迎致电 13681875601

  • 词条

    词条说明

  • 点对点RS232 模式

    RS232 模式以下通信模块支持 RS232 模式:CM PtP RS232 BACM PtP RS232 HFCM PtP (ET 200SP)在 RS232 模式中,可通过两条线路发送数据。单独的线路可用于发送方向和接收方向。发送和接收可同时进行 (full duplex)。RS232 信号除了 TXD、RXD 和 GND 信号外,通信模块还在使用 RS232 硬件时提供了附加 RS232 信

  • WinCC V7.5 离散量报警组态

    实现变量的某一个位来触发报警,通常组态离散量报警,例如设备的故障信号。1.首先在项目管理器左边菜单中双击“报警记录”。2.在弹出的报警记录编辑器中选择“消息”。3.在右边消息列表中选择“消息变量”,这里需要选择触发报警的变量。4.消息变量的数据类型可以是:二进制变量,无符号的8位值,无符号的16位值,无符号的32位值。5.然后填写消息位,也就是触发报警的位。如果是二进制变量,变量仅有1位,默认填写

  • DPV1 中断设置

    DPV1 中断设置DPV1 中断可以通过 DPV1 从站来启动中断,以确保由主站 CPU 处理触发中断的事件。 甚至在 STOP 模式下,也会在 CPU 中对中断数据进行评估(更新诊断缓冲区和模块状态)。 但在“STOP”模式下,不会执行 OB。除了通常的 SIMATIC 中断(如 ET 200M 的诊断中断)之外,还支持状态中断、更新中断和特定厂商的中断等。

  • Sm@rtServer

    Sm@rtServer内容在线帮助中未包含的信息和有关产品功能的重要信息。在 Windows 10 中打开 SmartClient *.sac 文件使用可执行文件 SmartClient.exe 以 *.sac 格式保存当前 SmartServer 连接的数据。要在 Windows 10 中自动打开以这种方式生成的文件,必须通过 SmartClient.exe 中的选择按钮和对话框手动打开一次带

联系方式 联系我时,请告知来自八方资源网!

公司名: 上海腾希电气技术有限公司

联系人: 田礼科

电 话: 021-37660026

手 机: 13681875601

微 信: 13681875601

地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼

邮 编:

网 址: shtxjd.cn.b2b168.com

八方资源网提醒您:
1、本信息由八方资源网用户发布,八方资源网不介入任何交易过程,请自行甄别其真实性及合法性;
2、跟进信息之前,请仔细核验对方资质,所有预付定金或付款至个人账户的行为,均存在诈骗风险,请提高警惕!
关于八方 | 八方币 | 招商合作 | 网站地图 | 免费注册 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式 | 商务洽谈室 | 投诉举报
粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594
著作权登记:2013SR134025
Copyright © 2004 - 2024 b2b168.com All Rights Reserved