与 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通信的文档可以登录西门子自动化与驱动集团网站的下载ZX,/download/ ,根据如表1提供的文档编号搜索并下载相关文档。文档编号中文标题A0426西门子 S7-1200 PLC 技术参考Version 1.0416S7-1200与S7-300 的以太网TCP 及ISO on TCP通信A0421如何实现两个S7-1200 CPU之间的以太网通信A0415通过S7协议实现S7-1200 与S7-300的通信A0414S7-1200基本以太网通信使用指南A0284使用西门子PLC集成的PN口实现S5 兼容通信使用入门A0345使用 Open Communication Wizard 建立开放式 ISO on TCP 通信A0346使用 Open Communication Wizard 建立开放式 UDP 通信A0347使用 Open Communication Wizard 建立开放式 TCP 通信A0344S7-300和S7-400集成PN口的S7通信A0334PN CPU/CP的开放式通讯-Open IE表1 下载ZX文档列表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 SP22、STEP7 V5.4 SP53、通信所需的功能块,请参见附件提供的例程 ”Sample_1 ( 50 KB ) ” 或参考下载ZX文档:《A0284 使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的程序。下载链接:804906502.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 parameter”中设置,如图5所示。连接参数说明:End point:选择通信伙伴,这里选择“unspecified”Address:指定通信伙伴S7-300站的IP地址“192.168.0.3”Connection type:选择通信协议为ISO on TCPConnection 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 parameter”中设置,可以根据需要自己为“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站或
子S120变频器模块代理商控制模式:伺服控制、矢量控制、 V/f控制 精度高(<0.001%nrated),响应快(<2.5ms) 低噪音(<71dB),紧凑型(节省 30%占地) 西门子S120 DC/AC 多机传动 多机传动通常由以下模块组成: 控制单元控制整个传动组 整流单元为逆变单元提供直流电源 逆变单元用于协调拖动电机 传动组件间采用 DRIVE-CLiQ 链接 选件模块用来连接系统外设 电子铭Pai检测各个传动组件 西门子变频器S120系列订货号 名称 订货号 货期 控制单元 CU320控制单元 6SL3040-0MA00-0AA1 10-12周 CUA31控制单元适配器 6SL3040-0PA00-0AA1 10-12周 CUA32控制单元适配器 6SL3040-0PA01-0AA0 10-12周 CX32(Simotion D驱动轴扩展模块) 6SL3040-0NA00-0AA0 10-12周 CF卡的扩展功能授权 6SL3074-0AA01-0AA0 10-12周 BOP20简易操作面板 6SL3055-0AA00-4BA0 10-12周 功率单元 单相220VAC PM3400.9A/0.12KW(无滤波器) 6SL3210-1SB11-0UA0 10-12周 PM3400.9A/0.12KW(带滤波器) 6SL3210-1SB11-0AA0 10-12周 PM3402.3A/0.37KW(无滤波器) 6SL3210-1SB12-3UA0 10-12周 PM3402.3A/0.37KW(带滤波器) 6SL3210-1SB12-3AA0 10-12周 PM3403.9A/0.75KW(无滤波器) 6SL3210-1SB14-0UA0 10-12周 PM3403.9A/0.75KW(带滤波器) 6SL3210-1SB14-0AA0 10-12周 功率单元 三相380VAC PM3401.3A/0.37KW(无滤波器) 6SL3210-1SE11-3UA0 10-12周 PM3401.7A/0.55KW(无滤波器) 6SL3210-1SE11-7UA0 10-12周 PM3402.2A/0.75KW(无滤波器) 6SL3210-1SE12-2UA0 10-12周 PM340 3.1A/1.1KW(无滤波器) 6SL3210-1SE13-1UA0 10-12周 PM340 4.1A/1.5KW(无滤波器) 6SL3210-1SE14-1UA0 10-12周 PM340 5.9西门子S120变频器模块代理商A/2.2KW(无滤波器) 6SL3210-1SE16-0UA0 10-12周 PM340 5.9A/2.2KW(带滤波器) 6SL3210-1SE16-0AA0 10-12周 PM340 7.7A/3KW(无滤波器) 6SL3210-1SE17-7UA0 10-12周 PM340 7.7A/3KW(带滤波器) 6SL3210-1SE17-7AA0 10-12周 PM340 10.2A/4KW(无滤波器) 6SL3210-1SE21-0UA0 10-12周 PM340 10.2A/4KW(带滤波器) 6SL3210-1SE21-0AA0 10-12周 PM340 18A/7.5KW(无滤波器) 6SL3210-1SE21-8UA0 10-12周 PM340 18A/7.5KW(带滤波器) 6SL3210-1SE21-8AA0 10-12周 PM340 2/11KW(无滤波器) 6SL3210-1SE22-5UA0 10-12周 PM340 2/11KW(带滤波器) 6SL3210-1SE22-A0 10-12周 PM340 32A/15KW(无滤波器) 6SL3210-1SE23-2UA0 10-12周 PM340 32A/15KW(带滤波器) 6SL3210-1SE23-2AA0 10-12周 PM340 38A/18.5KW(无滤波器) 6SL3210-1SE23-8UA0 10-12周 PM340 38A/18.5KW(带滤波器)