西门子PLC卡件223-1HF22-0XA8
上海浔之漫智控技术公司在经营活动中精益求精,具备如下业务优势:
SIEMENS可编程控制器
长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时,并且备有大量库存.长期有效
欢迎您前来询价.100分的服务.100分的质量.100分的售后.100分的发货速度
您的选择您的支持是我的动力! ————致我亲爱的客户!
价格波动,请来电咨询
3.2. 确认数据交换
SFB/FB 12 "BSEND" 向类型为“BRCV"的远程伙伴SFB/FB发送数据。通过这种
类型的数据传送,更多的数据可以在通讯伙伴之间传输,*其它用于组态的
S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。
要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到后
一个分段时对此分段进行确认,该过程与相应SFB/FB "BRCV" 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。
由SD_1起始地址和要发送数据的大长度。可以通过LEN来确定数据域的作业长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上*相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。
SFB/FB 13 "BRCV" 接收来自类型为“BSEND"的远程伙伴SFB/FB的数据。
在收
到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新LEN参数。在块调用完毕,并且在控制输入EN_R数值为1之后,块准备接收数据。可以通过EN_R=0来取消一个已激活的作业。
由RD_1起始地址和接收区的大长度。由LEN指示已接收数据域的长度。
从用户存储区中接收数据与处理用户程序是异步执行的。参数R_ID必须在相应的两个SFB/FB上*相同。通过状态参数NDR的数值为1来指示所有数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB 13为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:
1.概述
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个字节的数组