如何通过S7-1200与第三方设备实现自由口通信

n

西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备(扫描枪、打印机等设备进行通讯。因为没有第三方的设备,这里就以超级终端为例介绍自由口通讯。n

1.控制系统原理

如何通过S7-1200与第三方设备实现自由口通信
图1:控制系统原理n

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 )n

3.软件需求

1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)n

4.组态

我们通过下述的实际操作来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和超级终端通信。n

点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图2: 新建S7 -1200项目n

首先需要选择“Create new project”选项,然后在“Project name:”里输入PTP;在“Path:”修改项目的存储路径为“C:”;点击“Create”,这样就创建了一个文件PTP的新项目。创建后的窗口如下图所示:n

如何通过S7-1200与第三方设备实现自由口通信
图3: 新建项目后n

点击门户视图左下角的“Project View”切换到项目视图下,如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图4: 切换到项目视图n

打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输入设备名“PLC_1”并在设备列表里选择CPU的类型。选择后如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图5: PLC硬件组态n

插入CPU后,点击CPU左边的空槽,在右边的“Catalog ”里找到“Communication”下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需要配置此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口, 在属性窗口里有两个选项,一个是“general”;一个是“RS232 interface”。在“General”里包括了此模块的“项目信息”和“订货信息”;而在“RS232 interface”里包括“项目信息”、“端口的配置”、“发送信息的配置”、“接收信息的配置”和“硬件识别号”。在这里我们选择“RS232 interface”,在“端口”配置的选项里,进行端口的参数配置,
波特率为:9600 ;
校验方式:无 ;
数据位为:8 ;
停止位: 1;
硬件流控制:无;
等待时间: 1ms
设置参数如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图6: RS232接口配置n

此时确认一下“硬件识别号”为11。n

此时,完成了硬件的组态,接下来需要编写串口通讯程序,在这里我们实现两个功能:
一、 S7-1200 发送数据给超级终端;
二、 超级终端发送数据给S7-1200n

对于第一个功能:S7-1200发送数据给超级终端,实际上是S7-1200是数据的发送方,超级终端是数据的接收方,对于S7-1200需要编写发送程序;而对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前面S7-1200的端口参数一只即可。n

下面的步骤将具体介绍此功能实现的步骤:n

①、在PLC中编写发送程序。在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用SEND_PTP功能块如下图所示:(注:SEND_PTP在指令库下的扩展指令中通讯指令下)n

如何通过S7-1200与第三方设备实现自由口通信
图7: 调用发送功能块n

要对SEND_PTP赋值参数,首先需要创建SEND_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_Send_PTP,选择DB块,在Type后选择“SEND_PTP(SFB113)”n

如何通过S7-1200与第三方设备实现自由口通信
图8: 创建发送功能块的背景数据块n

插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“Global DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_SEND_BUFF。建好这两个DB块后,双击打开DB_SEND_BUFF预先定义好要发送的数据,如下图所示:n

如何通过S7-1200与第三方设备实现自由口通信
图9:在接收缓冲区中接收到的数据n

定义完发送缓冲区后,接下来就可以对SEND_PTP赋值参数,赋值参数后如下图:n

如何通过S7-1200与第三方设备实现自由口通信

图10:发送编程n

在上面的编程块里需要注意的是,在指定发送缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图:n

如何通过S7-1200与第三方设备实现自由口通信

图11:String存储格式n

上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图12:编译项目n

编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图13:超级终端的端口设置n

③、打开OB1功能块在线监控程序,在变量监控表里强制M0.0为1,触发数据的发送,此时在超级终端就会接收到发送的数据,如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图14:在超级终端监控发送来的数据n

对于第二个功能:超级终端发送数据给S7-1200,实际上是S7-1200是数据的接收方,超级终端是数据的发送方,对于S7-1200需要编写接收程序;而对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前面S7-1200的端口参数一致,在界面上输入发送内容即可。n

下面的步骤将具体介绍此功能实现的步骤:n

①、在PLC中编写发送程序。在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用RCV_PTP功能块如下图所示:(注:RCV_PTP在指令库下的扩展指令中通讯指令下)n

如何通过S7-1200与第三方设备实现自由口通信
图15: 调用发送功能块n

要对RCV_PTP赋值参数,首先需要创建RCV_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_RCV_PTP,选择DB块,在Type后选择“RCV_PTP(SFB114)”n

如何通过S7-1200与第三方设备实现自由口通信
图16: 创建接收功能块的背景数据块n

插入背景DB后,再插入接收缓冲DB块,重复上面的步骤,只是在选择DB类型为“Global DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_RCV_BUFF。建好这两个DB块后,双击打开DB_RCV_BUFF定义接收缓冲区数据的类型,如下图所示:n

如何通过S7-1200与第三方设备实现自由口通信
图17:定义接收缓冲区n

定义完接收缓冲区后,接下来就可以对RCV_PTP赋值参数,赋值参数后如下图:n

如何通过S7-1200与第三方设备实现自由口通信

图18:接收编程n

在上面的编程块里需要注意的是,在指定接收缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图:n

如何通过S7-1200与第三方设备实现自由口通信

图19:String存储格式n

上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:n

如何通过S7-1200与第三方设备实现自由口通信

图20:编译项目n

编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图21:超级终端的端口设置n

在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图22:在文本文件下输入要发送的字符串n

③、打开变量监控表,强制M0.0,使能接收。然后, 在超级终端里,选择菜单“Transfer”下的“Send Text file”,在打开的窗口里找到桌面 上的文本文件。n

如何通过S7-1200与第三方设备实现自由口通信
图23:通过超级终端发送数据n

打开DB_RCV_BUFF数据块,在线查看接收到的数据,如下图:n

如何通过S7-1200与第三方设备实现自由口通信
图23:接收缓冲区中接收到的数据

通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。

关键词
自由口协议,S7-1200,PTP

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
0 0
装V4.0 STEP 7 MicroWIN SP6遇到的问题
上一篇 2020年11月5日
能源数据收集器 – 读取数字计数器(S0)、PAC 设备计数器 (Modbus) 和 S7-1200 CPU + EDC 的模拟值
下一篇 2021年4月12日

相关推荐

  • 星三角组合在安全功能中的应用

    n 问题: 星三角组合能否在安全功能下使用?n 解答: 星三角组合可以在安全功能下用于开关驱动设 备。n 对于SIL 1 (IEC 62061) 或PL c (ISO 13849 …

    常见问题 2021年4月11日
  • S7-可编程序控制器的S7-通讯

    摘 要本文介绍了S7通讯的基本操作,包括硬件组态、网络组态、通讯功能块的调用;还介绍了单边、双边连接的建立,不在同一项目中两个站之间连接的建立等。 关键词S7,S7-通讯,S7-连…

    常见问题 2021年4月11日
  • 错误消息:E 4025混合文件

    问题:在ProTool下,为什么在OP7/17(或图形设备)上已触发了传送组态后会出现消息En4025混合文件? 解答:与OP5/15不同的是,OP7/17和图形设备在随着将组态传…

    常见问题 2021年4月11日
  • 控制单元CU240E V3.1参数下载到CU240S V3.0的三种方法

    n 一、使用BOP面板下载参数 第一步:上传控制单元CU240E的参数到BOP面板,设置方法如下:P0003=3 P0010=30 P0802=1 启动参数上传,这时面板上出现BU…

    常见问题 2021年4月11日
  • 6RA70, SIMOREG DC-Master 和SIMOREG CM, 记录励磁特性

    问题: 怎样手动记录励磁特性? 回答/补救/ 注意: 看附件: ( 163 KB ) 手动记录励磁特性 ( 265 KB )

    常见问题 2021年4月11日
  • 在具有潜在爆炸性气体的危险区域(2 和22区)安装按键面板的注意事项?

    n 描述按键面板 KP8 PN 和 KP8F PN 可以在具有潜在爆炸性气体的危险区域(2 和22区)使用。根据安装、PROFINET 电缆和电源情况提供适当的保护装置。 安装说明…

    常见问题 2021年4月11日
  • SITRANS FX300涡街流量计有几个累积量?

    问题: SITRANS FX300涡街流量计有几个累积量? 解答:标准的FX300只有一个累积量,但是如果流量计配置了热量模块和压力变送器,流量计就可以提供两个累积量,一个用于流量…

    常见问题 2021年4月11日
  • 4SI IO-Link使用入门

    n 1. IO-Link 基本功能介绍 IO-Link 是PROFIBUS 和PROFINET组织推出的一种新的传感器/执行器层面的协议。其定位与传统接线和AS-i协议之间的部分。…

    常见问题 2021年4月11日
  • 与SIMATIC S7-318 CPU一起使用的CP341中的传输时间是多大?

    n 组态注意事项: 下表列出了与传输协议有关的标准的传输时间。使用含CPU318 (6ES7 318-2AJ00-AB0,固件版本V3.0)的S7-300和CP341(固件版本V1…

    常见问题 2021年4月11日
  • 对以太网模块而言,什么情况下STEP 7硬件配置中的“Assign Ethernet Address”功 能是可用的?

    “Assign Ethernet Address”功能是用于在本地网络中搜索具有固定MAC地址的模块的一种机制。当启动搜索后,将列出所有西门子制造的模块。对…

    常见问题 2021年4月11日

发表回复

登录后才能评论

深圳SEO优化公司娄底网站制作推荐运城百度网站优化排名报价伊犁网站优化按天收费商洛企业网站制作推荐沈阳SEO按天计费哪家好邵阳百姓网标王推广价格垦利关键词按天收费价格湖州百度竞价价格山南网站推广工具公司吉林英文网站建设哪家好平凉优化沧州网络营销报价朔州优秀网站设计推荐普洱建站淮南SEO按天收费推荐大丰网站定制公司襄阳seo推荐迁安网站优化推广公司新余外贸网站建设公司鞍山百度关键词包年推广公司吉祥营销型网站建设报价淮安SEO按效果付费公司银川外贸网站建设公司天门外贸网站建设报价宿迁关键词按天计费多少钱鄂州关键词按天收费价格滁州至尊标王南昌网络广告推广公司铜仁网站优化按天计费哪家好温州网站seo优化多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化