【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

一、确定方案和目的

      在工业现代化企业中大部分还是以PLC控制为核心,因为PLC稳定可靠和简单编程等优点,因为某工业场景需求PLC的功能不足以满足,所以需要集成到上位机上,能够集成PLC功能的工控机就在市场上流行,本节我们开始实现原理,要求是熟练PLC编程和labview编程,具体要求如下:

01:学习西门子PLC的编程,实现以太网通信;02:学习西门子PLC的编程,实现电机控制参数设置;03:学习labview的以太网通信,实现TCP/IP协议应答;04:把PLC的功能封装成上位机的程序功能函数;关键词:Labview,西门子PLC,复制共享VI,动态事件,静态事件,Arduino,属性节点,方法节点备注1:手机微信可浏览相关高清图片;备注2:基础知识点请自行查阅书籍;备注3:本教程采用西门子S7-1200作为教学设备

【教程】上位机完全控制西门子PLC
二、TCP/IP数据通信函数
    上位机使用labview,应用上位机指令应答方式来进行与S7-1200数据交互,上位机端先发指令给PLC,然后PLC识别后响应数据,labview再等待数据接收。

【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC
01、labview[以太网函数]发送指令到PLC,[以太网接收函数]进行中断接收数据,最大数据字节数是256;
02、注意[以太网接收函数]的工作模式的设置,不同的模式应用场景不同,某些模式超时设置无效;
03、PLC作为TCP/IP服务器的角色,[TCON_DB][TRCV_DB]一直监听labview客户端的连接和指令;
04、上位机有数据发来,符合IP地址的时候,[M2.3]的状态闭合后处理收到的数据;
05、需要处理字符串,识别是否是指令和乱码数据,[CmdStrCut]是编写的字符串分割模块,这里核心思想是字符串的匹配查找MatchingString,指令是指令是在这里根据格式整理存储的。
A %FC2%FC2%FC2%FC2 "MatchingString" 0 "MatchingString"
06、分割识别完毕数据,就需要[CmdStringDo]来执行数据的具体意义;

07、执行完毕后需要给上位机labview应答反馈,是否存在错误或者上报参数;

三、西门子PLC的输入输出的获取和控制
    上位机使用labview,应用上位机指令应答方式来进行与S7-1200数据交互,上位机端先发指令给PLC,然后PLC识别到会上报输入输出控制点的状态。
【教程】上位机完全控制西门子PLC
01、labview[以太网函数]发送指令到PLC,格式GetDI(%s),0.1的意思为Q0.1,注意PLC底层需要根据实际应用点数定义和扩展,如果添加输出点需要在PLC中添加对应点位识别指令;
02、格式GetAI(%s),意思为得到ADC的采样数据,注意PLC的采样满量程并不是标准的十六位参数65536,需要查询对应型号的应用手册
03、格式SetDQ(%0.1f,%d),意思设置指定IO的输出状态;

【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

三、西门子PLC的步进电机伺服控制
    上位机使用labview,应用上位机指令应答方式来进行与S7-1200数据交互,上位机端先发指令给PLC,然后PLC识别到会控制电机进行相应的动作。
    西门子PLC内部支持2路电机控制的算法,用户可以方便配置,而且控制不占用程序的进程,两个不受影响的单独进程,还有S运动路径算法,这是国产仿制西门子PLC不具有的优势。
【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

01、电机的闭环控制控制的同时还需要获取电机的位置、速度、加速度等核心参数
02、格式GetAxisPos获取到运动轴电机的当前位置,注意由于配置比例这里需要脉冲比例还原;
03、格式GetAxisVel获取到运动轴电机的当前速度,注意由于配置比例这里需要脉冲比例还原;
【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

04、PLC程序含义是首先判断是否是目标指令字符串,然后识别运动电机轴号
05、符合条件后去对应的运动轴DB中取目标参数,然后再转换为字符串,反馈给labview上位机;

【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

05、电机的最大速度设置是核心参数,可以理解为电机的运动速度
06、由于电机存在加速度和减速度的S路径,再移动较短距离位移,电机速度是达不到最大速度的,加速度参数的设置可以理解为软启动

【教程】上位机完全控制西门子PLC

【教程】上位机完全控制西门子PLC

07、电机的运动分为3种,绝对位置,相对位移,单方向运动;
08、绝对位置就是到达指定坐标位置,方向由位置决定;相对位移是每次移动多长距离;单方向是单方向一直运动到限位为止;
10、PLC的控制代码为核心的电机运动代码,请查阅西门子相关教程
11、[CmdStrCut][CmdStringDo]两个模块的逻辑原理已讲解,请按照字符串匹配原理自行编写;
12、本教学不采用专门的模块,用以太网方式能够更好的适应不同的工业应用场景;

13、本教程所有代码版权归千里优选教学基地所有,相关细节教程请自行查阅资料学习;

原文始发于微信公众号(千里优选教学基地):【教程】上位机完全控制西门子PLC

版权声明:admin 发表于 2024年2月6日 下午11:59。
转载请注明:【教程】上位机完全控制西门子PLC | CTF导航

相关文章