西门子1200与其他PLC组态软件无线串口通讯(自由口)
S7-1200PLC之间TCP通信实例步骤

西门子 S7-1200 PLC 与 PLC之间以太网通讯操作心得
1.软件组态:新建两个 CPU,在组态界面的网络视图手绘连结两个 PLC 的以太网口,以下:
2.在两个 CPU以太网口的属性中设置 IP 地点,设置同一网段,方便调试;
3.在PLC_1程序块中增添一个背景数据块,新建接收数组跟发送数组,以方便寄存接收或发送数据,例程以下:
4.在 PLC_1主程序中增添一个“经过以太网发送数据”的指令块(发送使能 REQ以下事例是经过 5HZ的频次触发),并点击属性编写,编写好属性后 CONNET自动产生,将背景数据块的填入 DATA地点, LEN
是数据长度,以下:
4.发送指令的属性编写以下(连结数据能够直接点击新建,系统自动产生对应的数据指针,其他能够采纳默认参数)
5.在 PLC_1主程序中增添一个“经过以太网接收数据”的指令块,并点击属性编写,块参数编写同上,以下:
6.发送指令的属性编写同上发送块的属性编写;
7.以相同的编写方式编写 PLC_2;
8.在程序段中操作发送数组数据内容,使用接收数组数据内容,只需硬件连结正常, PLC_1与 PLC_2可经过对应的数组互换数据。
S7-1200与博途以及组态王的通讯设置

2020/3/31
17
如图,在 Access Point of the Application(应用程序访问点)的下拉列表中选择 <Add/delete>, 输入名称。
2020/3/31
18
在 Interface Parameter Assignment Used 中点选Realtek PCIe FE Family Controller.TCPIP.1(注意:应 根据运行计算机实际工作的网卡名进行选择,务必选择不带Auto 的),然后Access Point of the Application 内显示“CP-TCPIP - Realtek PCIe FE Family Controller.TCPIP.1 即可。
2
2
TIA Portal V13与S7-1200的软件配置 (1)使用博途V13组态S7-1200并编写程序,编写完成之后编译并下载 (2)PLC与组态王通过以太网的方式通信的设置: 1、确认计算机中安装有以太网卡,并与PLC 连接到同一网络中(直接通过网线直连)。 2、通过Step7编程软件为通信模块(CP443-1)设定IP地址和子网掩码,并下传到PLC中 如IP地址(192.168.0.1)、子网掩码(255.255.255.0)。 3、为计算机设定IP地址和子网掩码,如IP地址(192.168.0.110)、子网掩码 (255.255.255.0)。 4、使用ping 命令,保证能ping 到PLC 站。 (3)PG/PC 接口配置,通信测试,以检查运行组态王的计算机是否和PLC正常通信 (4)测试正常之后,即可在组态王开发项目
3、为计算机设定IP地址和子网掩码,如IP地址(192.168.0.110)、子网掩码(255.255.255.0)。 这里以Win7系统为例
S7-1200第15讲:S7-1200的自由口通信

CM1241 RS485接口模块支持的通信协议: 基于字符的自由口协议(ASCII) MODBUS RTU主从协议 USS协议
CB1241 RS485接口模块支持的通信协议: 基于字符的自由口协议(ASCII) MODBUS RTU主从协议 USS协议
节点数
1收、1发
最大传输电缆长度
50英尺
最大传输速率
20Kb/S
最大驱动输出电压
+/-25V
驱动器输出信号电平负载 +/-5V~+/-15V
驱动器输出信号电平空载 +/-25V
驱动器负载阻抗(Ω)
3K~7K
摆率(最大值)
30V/μs
接收器输入电压范围
+/-15V
接收(Ω)
RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为 10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以 下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率 传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。
RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。 在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。 终接电阻接在传输电缆的最远端。
从两个设备到多个设备运行—RS422 包括:差分传输,地址,全双工
RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式, 也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定 义为B。
RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义 了接口电路的特性。实际上还有一根信号地线,共5根线。
三菱PLC和西门子PLC之间实现无线通讯的办法

三菱PLC和西门子PLC之间实现无线通讯的办法对一个大型工厂,由于生产线的不断改造、新老流程的不断更新,这些PLC系统往往是由不同的制造商提供的。
那么在智慧工厂的实现中,常会遇到不同品牌PLC之间需要进行相互通讯的情况。
由于场地和生产能效的原因,在后期的系统改造中,通常需要采用无线的方式完成不同品牌PLC之间的通讯。
当下的工业控制现场,可编程控制PLC种类、品牌繁多,且各PLC通讯介质和通讯协议也各不相同。
以下我整理了2个具有代表性的案例进行验证测试。
方案一:西门子与三菱PLC无线ModbusRTU通讯本方案以西门子S7-200SMART和三菱FX3U PLC为例,验证不同品牌PLC之间能否实现ModbusRTU协议下的无线485通讯。
本方案中采用PLC无线通讯终端DTD435MC,作为实现无线通讯的硬件设备。
无线方案示意图▼1.测试设备与参数西门子PLC型号:S7-200Smart×1台三菱PLC型号:FX3U×2台达泰日系PLC无线通讯终端——DTD435MC×3块主从关系:1主2从通讯接口:Rs485接口供电:9-24VDC通讯协议:ModbusRTU传输距离:100米,500米,1KM,3KM,20KM2.接线方式2.1西门子S7-200SMART与达泰DTD435MC接线RS-485连线200SMART DTD435MC DTD435MC设置RS485+A DB9-Pin3B RS485+A K8:1,2,3,4,5,6,7,8OFF RS485-B DB9-Pin8A RS485-B2.2三菱FX3U与达泰DTD435MC接线FX3U通讯口使用485BD模块,因为FX3U-485BD口是四线制的,所以需要将RDA和SDA短接接入A(485+,CN2-4),再将RDB和SDB短接接入B(485-,CN2-5)。
3.主站PLC程序配置1.主程序2.RTU轮询程序4.从站PLC程序配置4.1三菱FX3U从站1程序4.2三菱FX3U从站2程序西门子smart200(主站)I0.0—I0.3控制三菱FX3U(从站1)的Y0.0—Y0.3西门子smart200(主站)I0.4—I0.7控制三菱FX3U(从站2)的Y0.0—Y0.3西门子smart200(主站)Q0.0—Q0.3读取三菱FX3U(从站1)的X0.0—X0.3西门子smart200(主站)Q0.4—Q0.7读取三菱FX3U(从站2)的X0.0—X0.3方案二:西门子与三菱PLC无线ModbusTCP通讯本方案以西门子S7-1200和三菱FX5U PLC为例,验证不同品牌PLC之间能否实现ModbusTCP/IP协议下的无线以太网通讯。
使用S71200自由口与第三方设备通讯

如何通过S7-1200与第三方设备实现自由口通信How to communication between S7-1200 and third party device by Free port protocol摘要 本文介绍了通过自由口协议实现S7-1200 与第三方设备的通信。
关键词自由口协议,S7-1200,PTPKey Words Free port protocol,S7-1200,PTPIA&DT Service & Support Page 2-20目录如何通过S7-1200与第三方设备实现自由口通信 (1)1.控制系统原理 (4)2.硬件需求 (4)3.软件需求 (5)4.组态 (5)附录-推荐网址 (19)IA&DT Service & Support Page 3-20西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备(扫描枪、打印机等设备进行通讯。
因为没有第三方的设备,这里就以超级终端为例介绍自由口通讯。
1.控制系统原理图1:控制系统原理2.硬件需求S7-1200 PLC目前有3种类型的CPU:1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
这三种类型的CPU都可以连接三个串口通信模版。
本例中使用的PLC硬件为:1)PM1207电源 ( 6EP1 332-1SH71 )2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )3) CM1241 RS232 ( 6ES7 241 -1AH30 -0XB0 )IA&DT Service & Support Page 4-203.软件需求1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)4.组态我们通过下述的实际操作来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和超级终端通信。
自由口模式下西门子PLC与计算机的串口通信

LD SM0.0
//RCV指令初始化
MOVB 16#EC, SMB87
MOVB 103, SMB88
MOVB 71, SMB89
MOVB +1000, SMW92
MOVB 35, SMB94
R SM87.2, 1
NETWORK 3
LD SM0.0
由于RS-485为半双工电气标准硬件电路,在用PC/PPI电缆时,发送和接收之间要有一定的时间间隔,这是由电缆本身的切换时间决定的,否则就会出现XMT/RCV冲突现象。因此,收发使能的控制切换需延时(尽管短),且通信协议(底层)一般也要求收发之间有间隔,以便正确判断传送数据的正确性。采取的措施:在发送前允许发送中断,在发送完成中断程序中关闭发送中断,延时启动接收中断,并在接收完成中断中关闭接收中断。根据经验,如果用9600波特率的话最短时间间隔至少要50ms以上,否则可能会造成数据的丢失。但我们发现,在发送完成后将自定义的标志位置位,检测到标志位上跳沿的首次扫描执行一遍RCV,即使不加发送延时也不会造成数据丢失。
S7-200系列PLC的通信口分3种工作方式:
l PPI(Point2to2Point Interface)方式;
l 自由口通信(Freeport)方式;
l PROFIBU S2DP方式。
本文主要介绍PLC的自由口通信方式。自由口通信方式是一种通讯协议完全开放的工作方式, 如果说PPI方式是外设适应PLC的话, 那么自由口通信方式就是PLC适应外设。在自由口通信方式下外设不受PPI协议的限制,不支持PPI协议的设备也能够与S7-200系列PLC通讯, 在自由口通信方式下通讯口的协议由外设决定, PLC通过程序来适应外设。自由口通信方式是对PPI方式的一个补充,该方式使得S7-200系列PLC可以与任何具有通讯能力的、并且协议公开的设备相通讯。
组态与plc无线通信例

组态与plc无线通信例
这篇文章将介绍组态与PLC无线通信的实例。
PLC是一个用于控制多种设备和机器的计算机系统,而组态则是用于设置和管理PLC的软件。
通过无线通信,PLC可以更加灵活和方便地控制和管理机器和设备。
在这个例子中,我们将使用Siemens TIA Portal(一款常用的组态软件)和SIMATIC S7-1200 PLC(一种常见的PLC),并使用Profinet协议进行无线通信。
首先,我们需要将PLC和无线设备(如无线路由器)连接起来,并设置IP地址和通信参数。
接下来,在TIA Portal中创建PLC项目,并进行组态设置。
我们可以通过添加模块、设备和程序块等方式来配置PLC。
同时,我们还需要设置无线通信模块并配置Profinet通信参数,以确保PLC和无线设备之间的无线通信连接正常。
最后,在PLC项目中编写程序,实现对机器和设备的控制和管理。
通过无线通信,我们可以在任何地方远程监控和控制PLC,从而提高生产效率和机器设备的可靠性。
在实际应用中,组态与PLC无线通信可以应用于各种领域,如工业自动化、智能家居、物联网等。
它可以使设备和机器更加智能化和灵活化,为人们的生产和生活带来更多的便利。
- 1 -。
西门子1200PLC之间的TCP通讯组态编程

西门子1200PLC之间的TCP通讯组态编程S7-1200 与 S7-1200 之间的以太网通信可以通过 TCP 协议来实现,使用的通信指令是在双方CPU 调用T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,TRCV) 指令来实现。
通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。
1.在网络视图中,创建两个设备的连接2. 调用“TCON”通信指令3. PLC_1 的TCON 指令的连接参数需要在指令下方的属性窗口“Properties”> “Configuration”>“Connection parameter”中设置4.添加T_SEND数据发送指令参数说明:输入接口参数:REQ := M0.3 // 使用2Hz 的时钟脉冲,上升沿激活发送任务ID : = 1 //创建连接ID LEN := 100 //发送数据长度DATA := P#DB3.DBX0.0 BYTE100// 发送数据区的数据,使用指针寻址时,DB块要选用绝对寻址输出接口参数:DONE := M300.0 //任务执行完成并且没有错误,该位置 1BUSY := M300.1 // 该位为1,代表任务未完成,不能激活新任务ERROR := M300.2 //通信过程中有错误发生,该位置 1 STATUS := MW302 //有错误发生时,会显示错位信息号5.添加T_RCV数据接收指令参数说明:输入接口参数:EN_R := TRUE // 准备好接收数据ID := 1 // 连接号,使用的是 TCON 的连接参数中 ID号LEN := 100 // 接收数据长度为 100 个字节DATA := P#DB4.DBX0.0 BYTE100// 接收数据区的地址输出接口参数:NDR := M310.0 // 该位为 1,接收任务成功完成BUSY := M310.1 // 该位为1,代表任务未完成,不能激活新任务ERROR := M310.2 // 通信过程中有错误发生,该位置 1 STATUS := MW312 // 有错误发生时,会显示错误信息号RCVD_LEN := MW314 // 实际接收数据的字节数注意:LEN设置为65535 可以接收变长数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西门子1200与其他PLC/组态软件无线串口通讯(自由口)
一、控制系统原理
图1:控制系统原理
二、硬件需求
S7-1200 PLC目前有3种类型的CPU:
1)S7-1211C CPU
2)S7-1212C CPU
3)S7-1214C CPU
这三种类型的CPU都可以连接三个串口通信模版
本例中使用的PLC硬件为:
1)PM1207电源(6EP1 332-1SH71)
2)S7-1214C(6ES7 214-1BE30-0XB0)
3)CM1241 RS232(6ES7 241-1AH30-0XB0)
三、软件需求
编程软件 Step7 Basic V10.5(6ES7 822-0AA0-0YA0)
四、组态
我们通过下述的实际操作来介绍如何在Step7 Basic V10.5中组态S7-1214C 和超级终端通信。
点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:
图2:新建S7-1200项目
首先需要选择“Create new project”选项,然后在“Project name:”里输入PTP;在“Path:”修改项目的存储路径为“C:”;点击“Create”,这样就创
建了一个文件PTP的新项目。
创建后的窗口如下图所示:
点击门户视图左下角的“Project View”切换到项目视图下,如下图:
图4:切换到项目视图
打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输
入设备名“PLC_1”并在设备列表里选择CPU的类型。
选择后如下图:
图5:PLC硬件组态
插入CPU后,点击CPU左边的空槽,在右边的“Catalog ”里找到“Communication”下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需要配置此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口, 在属性窗口里有两个选项,一个是“general”;一个是“RS232 interface”。
在“General”里包括了此模块的“项目信息”和“订货信息”;而在“RS232 interface”里包括“项目信息”、“端口的配置”、“发送信息的配置”、“接收信息的配置”和“硬件识别号”。
在这里我们选择“RS232 interface”,在“端口”配置的选项里,进行端口的参数配置,
波特率为:9600 ;
校验方式:无 ;
数据位为:8 ;
停止位:1;
硬件流控制:无;
等待时间:1ms设置参数如下图:
图6:RS232接口配置
此时确认一下“硬件识别号”为11。
此时,完成了硬件的组态,接下来需要编写串口通讯程序,在这里我们实现两个功能:
1. S7-1200 发送数据给超级终端(具体实现步骤如下);
2. 超级终端发送数据给S7-1200(具体实现步骤如下);
1S7-1200发送数据给超级终端
S7-1200发送数据给超级终端,实际上是S7-1200是数据的发送方,超级终端是数据的接收方,对于S7-1200需要编写发送程序;而对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前面S7-1200的端口参数一只即可。
下面的步骤将具体介绍此功能实现的步骤:
1)在PLC中编写发送程序。
在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用SEND_PTP功能块如下图所示:(注:SEND_PTP在指令库下的扩展指令中通讯指令下)
图7:调用发送功能块
要对SEND_PTP赋值参数,首先需要创建SEND_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_Send_PTP,选择DB块,在Type后选择“SEND_PTP(SFB113)”
图8:创建发送功能块的背景数据块
插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择
DB类型为“Global DB”,并去掉“Symbolic access>
图9:在接收缓冲区中接收到的数据
定义完发送缓冲区后,接下来就可以对SEND_PTP赋值参数,赋值参数后
如下图:
图10:发送编程
在上面的编程块里需要注意的是,在指定发送缓冲区时。
字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。
接下来才是存放实际字符。
如下图:
图11:String存储格式
上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:
图12:编译项目
编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
2)用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超
级终端程序,并设置硬件端口参数如下图:
图13:超级终端的端口设置
3)打开OB1功能块在线监控程序,在变量监控表里强制M0.0为1,触发
数据的发送,此时在超级终端就会接收到发送的数据,如下图:
图14:在超级终端监控发送来的数据
2超级终端发送数据给S7-1200
超级终端发送数据给S7-1200,实际上是S7-1200是数据的接收
方,超级终端是数据的发送方,对于S7-1200需要编写接收程序;而
对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前
面S7-1200的端口参数一致,在界面上输入发送内容即可。
下面的步骤将具体介绍此功能实现的步骤:
1)在PLC中编写发送程序。
在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用RCV_PTP功能块如下图所示:(注:RCV_PTP在指令库下的扩展指令中通讯指令下)
图15:调用发送功能块
要对RCV_PTP赋值参数,首先需要创建RCV_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program
Block ”——“Add new block”,在弹出的串口命名DB_RCV_PTP,选择DB块,在Type后选择“RCV_PTP(SFB114)”
图16:创建接收功能块的背景数据块
插入背景DB后,再插入接收缓冲DB块,重复上面的步骤,只是在选择
DB类型为“Global DB”,并去掉“Symbolic access>
图17:定义接收缓冲区
定义完接收缓冲区后,接下来就可以对RCV_PTP赋值参数,赋值参数后
如下图:
图18:接收编程
在上面的编程块里需要注意的是,在指定接收缓冲区时。
字符的开始地
址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而
不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式
造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。
接下来才是存放实际字符。
如下图:
图19:String存储格式
上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:
图20:编译项目
编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
2)用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:
图21:超级终端的端口设置
在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:
图22:在文本文件下输入要发送的字符串
3)打开变量监控表,强制M0.0,使能接收。
然后, 在超级终端里,选择菜单“Transfer”下的“Send Text file”,在打开的窗口里找到桌面 上的文本文件。
图23:通过超级终端发送数据
打开DB_RCV_BUFF数据块,在线查看接收到的数据,如下图:
图24:接收缓冲区中接收到的数据
通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。