S7-1200 PLC的S7通信服务器端解决方案

发布时间:2024-08-12  

S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态(如图1)连接和编程(如图2),而服务器端只准备好通信的数据就行。和图2所示

f543ffc2-1be9-11ee-962d-dac502259ad0.png

图1

f582552e-1be9-11ee-962d-dac502259ad0.png

图2

指令介绍

1

PUT指令

S7-1200CPU的为S7通信提供了两条用于读写数据的指令“PUT”和“GET”,使用PUT个GET指令对伙伴CPU进行读写时,不管伙伴CPU是处于运行模式下还是停止模式下,S7通信依然可以正常进行。

f59cc42c-1be9-11ee-962d-dac502259ad0.png

REQ:触发PUT指令执行,每次上升沿时触发。

ID:S7通信连接ID,该连接ID在组态S7连接时生效。

ADDR_1:指向伙伴CPU的地址,写入数据的区域地址

SD_1︰指向本地CPU的的地址,写出数据的区域地址

DONE:数据被成功写入到伙伴CPU

ERROR:指令执行出错,错误代码存储在STATUS中

2

GET指令

f5c066d4-1be9-11ee-962d-dac502259ad0.png

REQ:触发GET指令执行,每次上升沿时触发。

ID: S7通信连接ID,该连接ID在组态S7连接时生效。

ADDR_1∶指向伙伴CPU的地址,待读取区域地址

RD_1∶指向本地CPU的的地址,读取回数据的存放地址

NDR︰伙伴CPU的数据被成功读取

ERROR:指令执行出错,错误代码存储在STATUS中

指令使用注意事项

(1)指令上使用的数据读写区域需要使用指针的方式进行给定,对应使用的数据块需要使用非优化访问的块。

(2)使用时需要确保参数ADDR与SD/RD定义的数据区域在数量、长度和数据类型方面都需要匹配。

(3)PUT/GET指令的最大可传送数据长度为212/222字节,通信数据区域数量的增加并不能增加通信数据长度,反之增大通信的数据区域量,通信最大的数据长度会减少。

f5d6a0a2-1be9-11ee-962d-dac502259ad0.png

示例:两个1200PLC同一项目下S7通信

通信需求

①将客户端(Client)中DB1.DBX0.0开始的10个字节发送到服务器的DB1.DBX0.0开始的10个字节中。

②读取服务器(Serve)中的DB2.DBX0.0开始的10个字节到客户端DB1.DBX0.0开始的10个字节中。

01

创建一个PLC作为客户端,名称为“Client”,设定IP地址为:192.168.0.10,勾选允许远程访问

f61dbdc0-1be9-11ee-962d-dac502259ad0.png

f637ad84-1be9-11ee-962d-dac502259ad0.png

02

创建一个PLC作为服务器,名称为“Sever”,设定IP地址为:192.168.0.12 ,勾选允许远程访问

f64a1492-1be9-11ee-962d-dac502259ad0.png

f665b2f6-1be9-11ee-962d-dac502259ad0.png

03

在中间栏的“连接”条目中,可以看到已经建立的“S7_连接_1”,如图所示。

f689fe04-1be9-11ee-962d-dac502259ad0.png

04

点中上面的连接,在“S7_连接_1”的连接属性中查看各参数。在常规中,显示连接双方的设备,IP地址。

f6b012b0-1be9-11ee-962d-dac502259ad0.png

①在本地ID中:显示通讯连接的ID 号,这里ID=W#16#100(编程使用)。

②在特殊连接属性中:可以选择是否为主动连接,这里client 是主动建立连接。

③在地址详细信息中:定义通讯双方的 TSAP 号,这里不需要修改。

f6d87930-1be9-11ee-962d-dac502259ad0.png

f70d9a2a-1be9-11ee-962d-dac502259ad0.png

f73fea2a-1be9-11ee-962d-dac502259ad0.png

05

程序编写

①客户端侧建立DB1和DB2块,并建立Send和Recv名称的数组。用于发送数据和接收数据

f76f8ece-1be9-11ee-962d-dac502259ad0.png

f79c1f98-1be9-11ee-962d-dac502259ad0.png

②服务器端建立DB1和DB2块,并建立Send和Recv名称的数组。用于发送数据和接收数据

f7c8f2fc-1be9-11ee-962d-dac502259ad0.png

f7efb3c4-1be9-11ee-962d-dac502259ad0.png

③客户端编写程序

f80814be-1be9-11ee-962d-dac502259ad0.png

f82a4c3c-1be9-11ee-962d-dac502259ad0.png


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    数学运算以及与其他智能设备的通信。 S7-1200的硬件——数字量I/O 可以选用8点、16点和32点的输入量输入/输出模块,来满足不同的控制需要。 在工业控制中,某些输入量(温度、压力......
    S7-300/400PLC专用组态编程软件为经典STEP7,上位组态软件为WinCC,相对于TIA博途软件,某些操作显得繁琐(例如对于各个程序块需要每个单独存盘,当有语法错误时,则无......
    控制器,需要调用 OB83 和 OB86(防止控制器无法正常连接作为 IO 设备的 S7-1200 时,出现的停机现象),如图 5 所示。 图 5. 编程调用 OB83 和 OB86 2、检查无错误......
    -表示Modbus主站已读取新的数据 ERROR 错误位 STATUS 表3 MB_SLAVE指令参数意义 MB_SLAVE Modbus功能 S7-1200 代码 功能 数据......
    块,对比TCP/IP 协议,提供了以下的性能改进: 通讯错误自动关闭连接并快速重连 对数据提供应用层的确认 监视连接状态,链路故障可以快速检测     LHTTP: 允许S7-1200S7-1500......
    S7-1200 CPU与S7-200 SMART S7通信;S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器) S7-200 SMART CPU 固件......
    S7-1200 CPU与S7-200 SMART进行S7通信;S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器) S7-200 SMART CPU 固件......
    S7-1200S7-1200/S7-1500不同项目下UDP通信;S7-1200S7-1200/S7-1500 不同项目下 UDP 通信 S7-1200S7-1200 之间......
    S7-1200的计数器包含3种计数器的介绍;S7-1200 计数器 S7-1200的计数器为IEC计数器,用户程序中可以使用的计数器数量仅受CPU的存储器容量限制。 这里所说的是软件计数器,最大......
    ,您的 S7-1200 将准备好处理额外的 I/O 点和模块。 一个好的一般规则是比您的项目当前需要多添加 15-20% 的 IO。 6. 评估成本 第六步是评估 S7-1200 PLC 及相关组件......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>