西门子代理商13817011145 为你提供;
西门子中国授权代理商/西门子华南地区指定代理商/西门子模块代理商/西门子变频器代理商/西门子触摸屏代理商/西门子PCL200代理商/西门子PLC300代理商/西门子PCL400代理商/西门子数控伺服代理商/西门子原装授权软件代理商/西门子一级代理商(西门子核心分销商)专业销售西门子S7-200/300/400/1200/1500PLC、数控系统、变频器、人机界面、触摸屏、伺服、电机、西门子通讯电缆、现场总线、DP接头、工控机等,并可提供西门子维修服务,欢迎来电垂询。
SIEMENS中国有限公司
联 系 人:张柏(销售经理)
工作QQ:254598303
联系人 :13817011145 wei信同步
邮箱( Email )::254598303@qq.com
哪里有卖 要多少钱 哪里有 哪里能买到 要在哪里买 在哪里有卖的 价格,参数,型号,哪家便宜,比较便宜,哪里有,销售,订货号,多少钱?哪家价格好? 厂家,性能,优点,包装,用途,售后服务!哪里有卖 代理商 总代理商
业务范围:
西门子PLC可编程控制器,西门子PLC200/300/400/1200,西门子变频器,MM440/430/420/G120/6RA70/6ES70/等系列变频器及备件。西门子触摸屏,西门子电缆,西门子网卡,西门子软启动器,西门子低压产品,西门子数控伺服,西门子传动,西门子工控系列模块,CPU.等系列西门子销售与维修。
西门子S7300plc代理商,西门子代理商,上海西门子总代理,西门子上海代理商,西门子电机总代理,上海西门子PLC总代理,上海西门子一级代理,上海西门子变频器总代理,上海西门子销售商,中国总代理西门子电机,西门子中国总代理 西门子中国一级代理 西门子中国总代理 ,西门子S7-300PLC, 西门子S7-200PLC总代理,西门子PLC中国总代理,西门子PLC,西门子PLC总代理,,西门子中国总代理,上海西门子PLC总代理,S7-200西门子PLC总代理,西门子S7-300PLC总代理,西门子plc模块总代理,西门子plc编程线总代理,西门子plc编程电缆总代理
6AV6610-0AA01-2CE8Micro PLC提供了全方位的通讯功能。
可以在1.2至187.5 kbaud数据传输率情况下操作集成的RS485接口:
当统总线高达126参与者时:编程设备,SIMATIC HMI产品和 CPU可顺利联网。在纯粹的S7-200网络中,通过集成的PPI协议实现。在由完全集成的自动化器件组成的网络中,如SIMATIC S7-300/400或者SIMATIC HMI,将7-200 CPU集成为MPI从站。
在高达115.2 kbaud的可自由编程模式中,采用用户特定协议如ASCII(这支持与调制解调器,打印机,条形码阅读器,个人PC,第三方PLC以及任何其他设备的互连)。使用USS协议指令,最多可以控制32个西门子变频器,无需额外的硬件。
可以通过Modbus协议指令建立与Modbus RTU网络的连接。
调制解调器通讯
通过有线或无线网络的调制解调器,在世界上几乎任何地方均可以访问S7- 200 CPU。
远程服务:现代通讯选项有助于避免昂贵的服务电话。只需两个调制解调器即可实现远程使用完整的功能,如程序转移、状态或控制;各种通讯工具都集成在一起作为标准功能。本地调制解调器可作为外置调制解调器使用。
远程控制:您可以通过调制解调器呼叫消息和实测值,以及定义新的设定点或命令。在这种情况下,一个基站S7- 200可以控制几乎无限数量的远程站点。可以自由选择数据传输的协议,例如:文字信息直接到手机上,错误信息到传真机或Modbus RTU。
快速PROFIBUS连接
通过EM277通讯模块可以运行222以上所有CPU,作为PROFIBUS DP网络上的标准从站,传输速率高达12 Mbit/s。S7- 200对更高水平PROFIBUS DP控制水平的开放特点,确保您可以将单台机器集成到生产线中。使用EM 277扩展模块,您可以实现配备了S7-200的单独机器的PROFIBUS能力。
功能强大的AS-Interface连接
在AS- Interface网络上CP243-2将从CPU从222上升到功能强大的主站。根据新的AS- V2.1接口规范,可以最多连接62个站,甚至易于集成的模拟传感器。使用AS-Interface,可以在最高配置中最多连接248个DI+186 DO。最大 62站的数量最多可以包括31个模拟模块。方便AS-Interface接口向导支持从站和读/写入数据的配置。
内置的RS485接口可以工作在数据传输速率高达187.5 kbit / s的情况下工作,其功能如下:
作为一个最大拥有126个站点的系统总线。在这种容量中,可以连网编程设备,SIMATIC HMI产品和SIMATIC CPU,没有任何问题。集成的PPI协议用于纯的S7- 200支持来自一个端口多台主机的网络。在西门子其他器件(SIMATIC S7-300/400和SIMATIC HMI等)组成的网络中,将S7- 200 CPU集成为MPI的从站。
在Freeport模式(高达115.2kbaud)中,采用用户特定的协议(例如ASCII协议)这意味着SIMATIC S7 -200对连接的任何设备都是开放的,例如,它可以连接一个调制解调器,条码扫描仪,PC,非西门子PLC等等。通过驱动器用的USS协议,最多可以控制32台西门子变频器,无需额外的硬件。
包括在该包中的Modbus RTU库还可以作为主站或从站连接到一个Modbus RTU网络。
带有PC Access的OPC驱动器
PC Access是S7- 200和所连接PC之间数据交换的理想基础-与通讯链路选择无关(PPI,调制解调器,以太网/IT CP)。作为一个OPC服务器,PC ACCESS使您可以使用Microsoft Excel写或读S7- 200数据,或任何其它OPC客户端应用程序。
作为一个OPC客户端,它可用于 ProTool Pro,WinCC flexibleRT,Win CC等使用高达8个连接的容量,可以从一个中央位置实现配置、编程和监控,节省了时间和金钱。通过FTP,HTTP,Java和电子邮件方式允许将PLC连接到不同计算机的简单的通用连接,Internet Technology模块CP243-1 IT还为您提供快速访问功能。以太网模块CP243-1可以通过以太网快速访问S7 - 200的过程数据,进行归档或进一步处理。STEP 7-Micro/WIN的配置支持确保简单的调试和方便的诊断方案。
一体化PPI接口作为S7-200system总线或自由编程接口 -用于连接打印机,条码扫描仪等
PROFIBUS DP 从站 EM 277
PROFIBUS-DP可用作与其他MPI主站通讯的通讯口,无论其是否作为PROFIBUS-DP从站。 使用S7-300/400的XGET/XPUT功能时,S7-200可以通过该模块与S7-300/400连接。使用MPI协议 或PROFIBUS协议的STEP 7-Micro/WIN软件和PROFIBUS卡,以及OP面板或TD200(版本2), 均可通过EM 277模块与S7-200通讯
AS-Interface主站CP 243-2
CP 243-2是SIMATIC S7-200(CPU 22x)的AS-i主站。该通讯处理器具有以下功能:最多可连接31个AS-i从站,并具有集成模拟量值传送系统(按照扩展AS-i规范,V2.1)。 按照扩展AS-i规范V2.1,例如主站类别M1e,支持所有AS-i主站功能。 前面板的LED显示运行状态及所连接从站的准备显示。 通过前面板的LED指示错误(包括AS-i电压错误,组态错误)。 紧凑的外壳
在 一些应用场合,需要上位机对高速变化的过程数据进行归档记录。对于一般的网络通讯方式来说,WinCC 能提供的最高刷新速度是250 毫秒,但WinCC 采用RawData 归档数据链接的方式可以实现对S7-400 PLC 的高速数据采集。原理是PLC 将每个循环周期所采集的过程值(或PLC 以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的DB块中,当到达一定的数量后,PLC可以调用系统功能块 SFB37(AR_Send)将这个DB块主动地发送给WinCC, 然后WinCC会在后台自动调用标准化DLL来拆解数据,并将其按时间顺序保存在数据库中。在WinCC的过程画面中,可以使用在线趋势控件或在线表格控 件来查看所采集的数据。
由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在DB 块中的各过程值间的时间间隔的定义。可以定义的最小的时间间隔是1 毫秒。但如果是PLC 每个循环周期采样一次,那么定义的时间间隔应大于PLC 循环周期。DB块的最大尺寸是16KB。
详细信息请参见WinCC的帮助文件:WinCC System Inbation->通讯->SIMATIC S7 Protocol Suite->特殊功能->使用S7功能块AR_SEND进行数据交换。
1. WinCC的版本为 V5.1 或更高
2. S7-400系列CPU
3. WinCC站与S7-400站建立S7连接(包括 MPI, ProfiBus, TCP/IP,工业以太网都可以实现)
4. 编程人员能够熟练地使用STEP7和WinCC
本例介绍了WinCC如何在相同时间间隔(10ms)下实现对两个过程变量采集归档的方法,即上述WinCC帮助文件中的示例6。
所使用的操作系统和软件环境如下: 1. Windows7 Professional SP1
2. STEP7 V5.5 SP3 HF1
3. WinCC V7.2 Upd3
4. SIMATIC NET V8.2 SP1
5. WinAC RTX 2010(V4.6) SP1
注意:在本例中使用WinAC RTX代替S7-400,编程方式是相同的。WinAC RTX 2009(V4.5)及更高版本支持SFB37(AR_Send)。
1. 在新建的STEP7项目中新建PC Station,分别插入WinCC Application和WinLC RTX(必须定位在2号槽位),如图1所示。
图1
2. 在NetPro中选择PC Station中的WinCC Application,双击下方表格的空白处插入S7 Connection,如图2、图3和图4所示。
图2
图3
图4
3. 在WinLC RTX中新建Data Type(UDT1),参照上述WinCC帮助文件中数据块的架构和参数介绍,定义过程变量的结构,如图5所示。
图5
4. 在WinLC RTX中新建Data Block(DB1),定义数组,类型选择UDT1,如图6所示。
图6
5. 参照上述WinCC帮助文件中AR_SEND的变量属性,为DB1的数组PV分配如下相应的初始值:
PV(1).HeaderType=9
PV(1).Cycle=10
PV(1).Unit_Type=1
PV(1).Unit_Range=3
PV(1).AR_ID_SubNum=1
PV(1).DataType=2
PV(1).NumOfPV=100
PV(2)的初始值和PV(1)基本相同,注意PV(1).AR_ID_SubNum=2。
6. 在WinLC RTX中新建Function Block(FB1),在Interface-IN中新建输入参数AR_Send,选择Data Type为AR_Send,调用SFB37(AR_SEND)发送DB1,如图7所示。
图7
7. 在WinLC RTX中新建Fucntion(FC1),调用FB1,并调用SFC1(READ_CLK)读取当前系统时间并写入DB1,如图8所示。
图8
8. 在WinLC RTX中新建Function(FC3),指定SFB37(SAR_Send)发送的数据包长度,如图9所示。
图9
9. 在WinLC RTX中新建Organization Block(OB100),调用FC3。
10. 在WinLC RTX中的OB1中调用FC1。
11. 选择菜单Options-'Compile Multiple OSs' Wizard-Start,编译AS-OS,如图10、图11所示。
图10
图11
12. 在WinCC Application中打开OS,在WinCC中打开变量管理器,在SIMATIC S7 Protocol-Named Connections中新建变量AR_Send(Raw Data)、Req_AR_Send(M20.0)和Res_TimeStamp(M40.0),如图12、图13和图14所示。
图12
图13
图14
13. 在变量记录中新建过程归档Processvaluearchive,选择New Process Controlled Tag,在Raw Data Tag中选择变量AR_Send,并分配参数AR_ID和AR_ID-Subnumber为1,参数需要和步骤5中相对应;注意需要新建两个过程控制变 量,第二个过程变量的AR_ID-Subnumber为2,如图15、图16和图17所示。
图15
图16
图17
14. 在画面编辑器中新建画面,插入IO域组态变量Req_AR_Send(M20.0)和Res_TimeStamp(M40.0),再插入WinCC online Table控件组态变量记录Processvaluearchive,如图18所示。
图18
15. 在Set PG/PC interface中设置S7Online为PC Internal(Local),下载PC Station,如图19所示。
图19
16. 启动WinAC RTX,可以在Variable Table中为DB1的数组PV.PV输入相应的数据,参见步骤5中的描述,如图20所示。
图20
17. 激活WinCC项目, 置位变量Req_AR_Send(M20.0)和Res_TimeStamp(M40.0)后,可以在WinCC online Table控件中查看到WinAC RTX发送到WinCC变量记录的数据,如图21所示。
图21
17. 需要注意的是,本例中只是简单地实现了PLC发送过程数据到WinCC的归档,用户需要根据实际情况选择发送数据的数据结构,自行编写PLC程序将过程数据写入SFB37(AR_SEND)要发送的数据块,并定义触发SFB37的逻辑。
S7-1200 与 S7-300 之间的以太网通信方式比较多,可以采用ISO on TCP、TCP和 S7 的方式进行通信。在S7-1200 CPU 中采用ISO on TCP和TCP这两种协议进行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV ) 指令编程。S7-300 CPU一侧如果使用的是CPU集成的PN接口,连接不在STEP7的NetPro中建立连接,而是使用西门子提供的OPEN IE 的方式来实现。
本文主要介绍了如何实现在S7-1200 和S7-300 CPU集成PN口之间的ISO on TCP通信,包括通信的基本步骤、配置及编程等内容。具体的实现方法有多种,比如在S7-1200中可以使用不带连接的通信指令(TCON, TDISCON, TSEN, TRCV),也可以使用带连接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能块编程的方式来实现,也可以使用Open Communication Wizard工具(OPEN IE向导)的方式来建立OPEN IE的通信。
为了方便理解,本文在S7-1200中使用不带连接的通信指令TCON, TDISCON, TSEN, TRCV,在S7-300侧通过功能块编程的方式来实现。
关于S7-1200和S7-300 OPEN IE通信的文档可以登录西门子自动化与驱动集团网站的下载中心,网址:http://www.ad.siemens.com.cn/download/ ,根据如表1提供的文档编号搜索并下载相关文档。
文档编号 | 中文标题 |
A0426 | 西门子 S7-1200 PLC 技术参考Version 1.5 |
A0416 | S7-1200与S7-300 的以太网TCP 及ISO on TCP通信 |
A0421 | 如何实现两个S7-1200 CPU之间的以太网通信 |
A0415 | 通过S7协议实现S7-1200 与S7-300的通信 |
A0414 | S7-1200基本以太网通信使用指南 |
A0284 | 使用西门子PLC集成的PN口实现S5 兼容通信使用入门 |
A0345 | 使用 Open Communication Wizard 建立开放式 ISO on TCP 通信 |
A0346 | 使用 Open Communication Wizard 建立开放式 UDP 通信 |
A0347 | 使用 Open Communication Wizard 建立开放式 TCP 通信 |
A0344 | S7-300和S7-400集成PN口的S7通信 |
A0334 | PN CPU/CP的开放式通讯-Open IE |
表1 下载中心文档列表
2 软硬件及所要完成的通信任务
2.1硬件设备
实验的硬件设备:
1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0xB0)
2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7)
3、PC机(带以太网卡)
4、SCALANCE X216交换机,S7-1200、S7-300和PC通过交换机互连起来
5、TP以太网电缆
2.2 软件环境
1、STEP7 Basic V10.5 SP2
2、STEP7 V5.4 SP5
3、通信所需的功能块,请参见附件提供的例程 ”Sample_1 ( 50 KB ) ” 或参考下载中心文档:《A0284 使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的程序。下载链接:80490650
2.3 所要完成的通信任务
本例中所要完成的通信任务定义为:
1、 将S7-1200的发送数据块DB3里的8个字节数据发送到S7-300的DB3中。
2、 将S7-300 DB3里接收到的8个字节数据再发送到S7-1200的接收数据块DB4中。
3 S7-1200 CPU的组态编程
3.1创建新项目
1、打开STEP 7 Basic 软件并新建项目
在STEP 7 Basic 的 “Portal View”中选择“Create new project”创建一个新项目,项目名称为“GS_ISO”。
2、添加硬件并命名PLC
然后进入 “Project view”,在“Project tree” 下双击 “Add new device”,在对话框中选择所使用的S7-1200 CPU(6ES7 212-1BD30-0xB0)添加到机架上,设备名为 PLC_1,如图1所示。
图1 添加新的PLC站
为了编程方便,我们使用 CPU 属性中定义的时钟位,定义方法如下:
在“Project tree> PLC_1 > Device configuration” 中,选中 CPU ,然后在下面的属性窗口中,“Properties > System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2所示。程序中我们主要使用 M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2 系统和时钟存储器
3、为 S7-1200 CPU的PROFINET 通信口分配以太网地址
在 “Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses”下分配IP 地址为 192.168.0.2 ,子网掩码为255.255.255.0,如图3所示。
图3为 S7-1200 CPU的PROFINET 接口分配IP地址
3.2调用并配置通信指令
1、在 PLC_1 的 OB1 中调用 “TCON”通信指令
进入“Project tree > PLC_1 > Program blocks > OB1” 主程序中,从右侧窗口 “Instructions > Extended Instructions > Communications” 下调用 “TCON” 指令,并选择 “Single Instance” 生成背景 DB块,如图4所示。
图4 调用TCON指令
2、定义PLC_1 的 “TCON” 连接参数
PLC_1 的 TCON 指令的连接参数需要在指令下方的属性窗口“Properties > Configuration > Connection beter”中设置,如图5所示。连接参数说明:
End point
:选择通信伙伴,这里选择“unspecified”
Address
:指定通信伙伴S7-300站的IP地址“192.168.0.3”
Connection type
:选择通信协议为ISO on TCP
Connection ID
:连接的地址 ID 号,这个 ID 号在后面的编程里会用到
Connection data
:创建连接时,系统会自动生成本地的连接 DB 块,所有的连 接数据都会存在这个 DB 块中。
:选择本地 PLC_1作为主动连接,S7-300 CPU作为被动连接
Address details
:设定 TSAP 地址这里本地设置成“PLC_1”, TSAP ID自动为“50.4C.43.5F.31”,伙伴方设置成不设置TSAP(ASCII),设置TSAP ID 为“E0.02.50.4C.43.5F.31”。
图5 “TCON” 指令的连接参数
3、分配 “TCON” 的块参数
在指令下方的属性窗口“Properties > Configuration > block beter”中设置,可以根据需要自己为“TCON” 块指定相应的输入输出参数。指定好参数的块,如图6所示。其中M8.0作为启动连接的触发位,连接ID = 1与连接参数里面的设置相同。
图6 “TCON” 的块参数
4、在 PLC_1 的 OB1 中调用 “TSEND” 发送通信指令
首先创建一个发送数据块,通过 “Project tree > PLC_1 > Program blocks > Add new block”,选择 “Data block” 创建 DB 块,选择绝对寻址,点击“OK”键,如图7所示。
图7 创建一个发送数据块DB3
打开创建的发送数据块,在数据块中定义发送数据区为 8个字节的数组,如图8所示。
图8 创建发送数据区
然后在OB1 中调用“TSEND”发送通信指令,并为“TSEND”指定参数。使用M0.3( 2Hz 的时钟脉冲)上升沿激活发送任务,指定发送数据区为P# DB3.DBX0.0 BYTE 8,连接 ID = 1与连接参数里面的设置相同,发送长度LEN=8。分配好参数的“TSEND”块如图9所示。
图9 调用“TSEND”发送通信块
5、在 PLC_1 的 OB1 中调用“TRCV”接收通信指令
同样,先创建一个接收数据块DB4 ,如图10所示。“TRCV”接收通信指令的调用方法与“TSEND” 发送通信指令的调用方法相同,M8.1作为接收指令的使能位,如图11所示。
图10创建接收数据区
图11 调用“TRCV”接收通信块
6、在 PLC_1 的 OB1 中调用 “TDISCON”通信指令
最后,为了断开通信链接,我们需要调用“TDISCON”通信指令,如图12所示。
图12 调用“TDISCON”通信块
3.3下载程序
至此,S7-1200侧的组态和编程都已经完成,可以在项目编译无错误后,直接下载到S7-1200 CPU中,并启动CPU的运行。
4 S7-300 CPU的组态编程
S7-300带PN接口的CPU支持ISO on TCP通信功能,通过该集成以太网接口组态ISO on TCP通信时,只能使用开放式通信专用的功能块,这些专用的功能块可以在STEP7 “ 通讯块”的 “标准库 ”中找到,如图13所示。
图13 S7-300 CPU通信指令库
库中提供了下列通信功能块:
′> FB 65 "TCON",用于建立连接,连接时需要UDT65来提供参数
> FB 66 "TDISCON",用于终止连接
> FB 63 "TSEND",用于发送数据到S7站点、S5站点、PC站或者第三方设备
> FB 64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
要通过CPU 的 集成PN 接口实现开放的ISO on TCP通信,不能在Netpro网络组态中直接建立连接,必须通过程序指定每个连接的参数。用于通信的FB标准功能块,请参见附件提供的例程 ”Sample_1 ( 50 KB ) ” 或参考下载中心文档《A0284 使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的例程。下载链接:80490650
从附件提供的例程 ”Sample_1 ( 50 KB ) ” 中将把需要的程序块拷贝到新建的项目中,包括:
> UDT 65 "TCON_PAR",存放用户通信参数
> FB420 "SET_ISO_ENDPOINT" ,用于修改UDT65内通信对象参数
> FC21, 被FB420调用
随后,使用通信功能块 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND" 和 FB64 "TRCV" 完成程序的编写。
4.1创建新项目
1、打开STEP7,新建一个项目
2、在项目中插入一个SIMATIC 300的站
3、组态硬件,插入一个CPU317-2PN/DP的CPU,并为PN接口分配IP地址“192.168.0.3”,如图14所示。同时,在CPU的“Cycle/Clock Memory”属性页中指定MB0为时钟存储器,在程序中可以使用M0.3(2Hz 的时钟脉冲)去自动激活发送任务,如图15所示。
图14为PN接口分配IP地址
图15设置时钟存储器字节
4.2编写通信程序
1、从样例程序中拷贝通信所需的块
从附件提供的sample_1 ( 50 KB ) 例程中把需要的FB420、FC21与UDT65程序块拷贝到新创建的项目中,如图16所示。
图 16
2、生成数据块
在程序中创建一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65,如图17所示。
图17
3、生成并调用FB块
首先生成一个FB块(本例为FB400),在FB400静态变量区建立一个结构“T_TSAP“,包含如下变量,并为变量分配初始值,如图18所示。
1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有两个前导字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-3PN/DP规定)和 0x02(CPU槽号)
2) LOC_TSAP(STRING14)= 本地用户定义的ASCII字符'PLC_1' (注意要与S7-1200侧设置保持一致)。
3) REM_RACK_SLOT(BYTE)= B#16#0 不使用两个前导符。
4) REM_TSAP (STRING16)= 远程用户定义的ASCII字符'PLC_1' (注意要与S7-1200侧设置保持一致)。
图18
然后在生成的FB400中调用FB420,如图19所示。
图19
其中参数的含义如下:
1)ID: 连接ID,与S7-1200里的设置保持一致
2)DEV_ID:用于本PLC型号(注意不是通信对方)
DEV_ID = B#16#1本PLC型号为 IM151-8 PN/DP CPU
DEV_ID = B#16#2本PLC型号为CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3本PLC型号为CPU319-3PN/DP
DEV_ID = B#16#5本PLC型号为CPU41x-3PN/DP
3)ACTIVE: 主动或是被动建立连接,通信双方必须一个主动,一个被动,本例中S7-300侧为被动方。
4)T_TSAP: 静态变量区的结构变量,用于ISO ON TCP 通信的TSAP地址
5)IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址,即S7-1200的IP地址192.168.0.2
6)CON_DB: 用UDT65生成的变量,即DB1014、在OB1中调用发送和接收功能块
在OB1中先调用FB400功能块,为其指定背景数据块DB400,如图20所示。
图20
然后再在OB1中依次调用通信功能块FB65、FB64、FB63、FB66。其中发送和接收功能块FB64、FB63的数据区都为DB3,建立DB3如图21所示。关于块的使用请参考STEP7的在线帮助或相关文档说明。
图21
FB65 “TCON”,建立连接功能块,如图22所示。通过输入参数 "REQ"一个上升沿来建立连接。 “ID” 为连接ID,“CONNECT” 参数填写用 UDT65 生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON" 断开连接、CPU停止或者断电。其中CONNECT指定为通过UDT65生成的DB块,即DB101, ID = 1。通过M8.0启动作业,执行连接的建立。
图22
FB64 “TRCV”,接收功能块,如图23所示。"TRECV" EN_R始终为TRUE, ID 填写连接ID,”DATA” 填写接收数据区,输出参数 "NDR" 用于表示新的数据已经收到,输出参数 "LEN" 表示接收的数据长度。本例中连接ID = 1。指定DB3作为接收数据块,接收数据的字节长度为8,接收作业通过M8.1使能。
图23
FB63 “TSEND”,发送功能块,如图24所示。连接ID = 1。指定DB3为发送数据块,发送字节长度为8,发送作业通过M0.3触发。"TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。
图24
FB66 “TDISCON”,取消连接功能块,如图25所示。可以根据需要取消ID=W#16#1的连接,作业通过M8.2使能。
图25
4.3下载程序
S7-300侧的组态和编程都完成后,直接下载到S7-300 CPU中,并启动CPU的运行。
5 监控通信结果
对S7-1200和S7-300都组态和编程后,下载所有组态及程序并搭建好网络后,首先在在S7-1200中将M8.0置位为1,然后再在S7-300中将M8.0置位为1,两个站的“TCON” 被激活,建立两个站之间的ISO on TCP连接。
连接正常建立后,即可以进行数据的交换。在S7-1200和S7-300站中将 ”TRCV” 功能块的EN_R置位为1,使能接收,监控通信结果如图26所示。
通过监控结果可以看到,S7-1200中发送数据块DB3的8个字节数据被发送到S7-300站的DB3中,同时,S7-300的DB3中接收到的数据又被发送到S7-1200的接收数据块DB4中。
图26 在线监控通信结果