全国服务热线: 15821971992

西门子授权代理|低压电器总代理

发布日期 :2023-07-19 17:06发布IP:114.95.101.251编号:11787322
品牌:
西门子
型号:
模块
产地:
德国
分 类
工控系统及装备
单 价
电议
有效期至
长期有效
咨询电话
15821971992
手机
15821971992
Email
2724917714@qq.com
让卖家联系我
详细介绍

     对于自控或电气工程师来说,西门子PLC是每个人都非常熟悉的一款PLC品牌;而对于上位机开发工程师来说,Socket通信或TCP/IP协议也是必须要掌握的一种通信方式。刚好手头有一款西门子的200SmartPLC,可以利用它来跟大家聊聊Socket通信的那些事儿。相比较而言,西门子PLC对Socket通信的支持性是很不错的。如果你在使用西门子软件或者逛西门子论坛时,发现一个词叫做Open User Communication或开放式通信,没错,那其实就是我们说的Socket通信方式。关于这一点,我们可以从以下两张图中看出,分别为S7-200Smart编程软件Micro/Win Smart V2.5及博途TIA V15.1编程软件中关于通信库的部分截图:


西门子变频器安装调试方法
I.西门子变频器和电机的距离应该尽量的短。这样减小了电缆的对地电容,减少干扰的发射源。
II. 控制电缆选用屏蔽电缆,动力电缆选用屏蔽电缆或者从西门子变频器到电机全部用穿线管屏蔽。
III.电机电缆应于其它电缆走线,其小距离为500mm。同时应避免电机电缆与其它电缆长距离平行走线,这样才能减少西门子变频器输出电压快速变化而产生的电磁干扰。如果控制电缆和电源电缆交叉,应尽可能使它们按90度角交叉。与西门子变频器有关的模拟量信号线与主回路线分开走线,即使在控制柜中也要如此。
IV.与西门子变频器有关的模拟信号线好选用屏蔽双绞线,动力电缆选用屏蔽的三芯电缆(其规格要比普通电机的电缆大档)或遵从西门子变频器的用户手册。


编程:CPU 4XP/226STEP 7-Micro/WIN32 V3.1编程软件可以对所有的CPU4XP/226功能进行编程。同时也可以使用STEP 7-Micro/WIN16V2.1软件包,但是它只支持对S7-21x同样具有的功能进行编程。发送驱动器A,B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端。通常情况下而在RS-422中这是可用可不用的。


25.png




我们可以看到无论是西门子的中高端PLC还是低端PLC,都是支持开放式TCP/UDP上位机通信的,既然都支持,我们来看下如何实现。


众所周知,对于Socket通信来说,是可以支持TCP、UDP等多种通信方式,但是在这里,我们主要针对TCP这种通信方式。除此以外,大家都知道,Socket会存在服务器和客户端的说法,也就意味着,同样是使用Socket通信,我们仍然需要确定到底PLC是作为服务器还是作为客户端,因为不管对于PLC编程或者上位机开发来说,这两种方式都是完全不同的,下面做具体介绍。


 


一、上位机开发中PLC作为TCP服务器的实战应用



(1)PLC编程




1、创建一个TCPServer的子程序,拖拽一个TCP_CONNECT的库指令,对于该指令的每个引脚对应的含义,大家可以按下F1直接获取在线帮助,程序段1编写如下图所示:



2、拖拽一个TCP_SEND的库指令,该指令每个引脚填写,ConnID为1,Req为触发条件,必须为沿信号,这里为了方便,直接使用1秒的脉冲信号,DataLen及DataPtr为发送的起始字节指针及发送的字节长度,程序段2如下图所示:





3、拖拽一个TCP_RECV的库指令,该指令的引脚填写,ConnID统一为1,MaxLen为接收的大程度,DataPtr表示接收字节存放的起始位置,程序段3如下图所示:





4、后需要编译,编译会提示需要给库分配地址,点击文件下的存储器,给该库分配地址即可,然后在MAIN主程序中调用TCPServer这个子程序,并下载到PLC中,上位机的PLC编程部分结束。





(2)TCP调试助手测试




如果PLC程序编写没问题,打开一个网络调试助手,输入对应的IP地址及端口号,即可连接上服务器。


连接服务器后,PLC端会自动每隔一秒发送200个字节数据过来,这200个字节即对应VB100-VB299的值。





(3)上位机客户端软件开发





通过与编程软件的状态图表进行对照,可以实时读取PLC数据,并随时设置相应的数值





二、上位机开发中PLC作为TCP客户端的实战应用






1、创建一个TCPClient的子程序,拖拽一个TCP_CONNECT的库指令,与服务器程序不同的是,这里需要把Active设置为ON,同时IP地址和端口号需要根据上位机实际情况填写,程序段1编写如下图所示:





2、拖拽一个TCP_SEND的库指令,该指令的引脚填写,ConnID为2,Req为触发条件,必须为沿信号,这里为了方便,直接使用1秒的脉冲信号,DataLen及DataPtr为发送的起始字节指针及发送的字节长度,程序段2如下图所示:





3、拖拽一个TCP_RECV的库指令,该指令的引脚填写,ConnID统一为2,MaxLen为接收的大程度,DataPtr表示接收字节存放的起始位置,程序段3如下图所示:





4、后需要编译,如果已经编写过服务器程序,这里就不需要分配地址了,直接在MAIN主程序中调用TCPClient这个子程序,并下载到PLC中,PLC编程部分结束。






如果PLC程序编写没问题,打开一个网络调试助手,设置模式为TCP Server,输入端口号为2000,即可开启服务器。


服务器开启后,PLC端会自动连接服务器,并且每隔一秒发送200个字节数据过来,这200个字节即对应VB300-VB499的值。



(3)上位机服务器软件开发





通过与状态图表进行对比,验证可以正常读取和写入PLC数据。





三、整体总结




后续通过进一步测试验证发现,上位机通信中西门子PLC可以同时作为服务器和客户端与上位机进行通信。


相关分类
推荐产品
信息搜索
 
智能科技新闻
浔之漫智控技术(上海)有限公司
  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 电话:15821971992
  • 邮件:2724917714@qq.com
  • 手机:15821971992
  • 联系人:聂聪
授权代理新闻
授权代理相关搜索