PLC编程:RS-485,教你向从站写入数据2「系列14」
上一篇文章我向大家介绍了向从站写入数据的方式,并且自定义了一个报文结构,现在我们来回顾一下主站发送报文的格式图 1‑1,和从站处理完成后向主站返回数据的报文结构图 1‑2。方便我们编写程序。
图 1‑1
图 1‑2
图 2‑1是主程序
图 2‑1
图 2‑2接收完成中断
图 2‑2
图 2‑3~图 2‑5子程序Write
图 2‑3
图 2‑4
图 2‑5
图 2‑6发送完成中断
图 2‑6
3、程序演示
我们用电脑向S7-200PLC发送一组数据修改S7-200PLC中的VB300、VB301、VB302、VB303数据最终使VB300 = 01、VB301 = 02、VB302 = 03、VB303 = 04。
第一步:向调试软件写入要发送的报文图 3‑1所示。
图 3‑1
第二步:向PLC发送报文并接受PLC返回的报文
图 3‑2
第三步:监控S7-200PLC VB300、VB301、VB302、VB303中的数值是否分别是01、02、03、04。
图 3‑3
作者:技成培训网(马乐)
版权为技成所有,未经同意盗取必究!
往期优秀文章推荐:
如何快速读懂PLC梯形图?反正我是学会了~
想学好PLC必须掌握的循环扫描工作过程!
1 CPU自检阶段
CPU自检阶段包括CPU自诊断测试和复位监视定时器。
在自诊断测试阶段,CPU检测PLC各模块的状态,若出现异常立即进行诊断和处理,同时给出故障信号,点亮CPU面板上的LED指示灯。当出现致命错误时,CPU被强制为STOP方式,停止执行程序。CPU的自诊断测试将有助于及时发现或提前预报系统的故障,提高系统的可靠性。
监视定时器又称看门狗定时器WDT,它是CPU内部的一个硬件时钟,是为了监视PLC的每次扫描时间而设置的。CPU运行前设定好规定的扫描时间,每个扫描周期都要监视扫描时间是否超过规定值。这样可以避免由于PLC在执行程序的过程中进入死循环,或者由于PLC执行非预定的程序造成系统故障,从而导致系统瘫痪。如果程序运行正常,则在每次扫描周期的内部处理阶段对WDT进行复位(清零)。如果程序运行失常进入死循环,则WDT得不到按时清零而触发超时溢出,CPU将给出报警信号或停止工作。采用WDT技术也是提高系统可靠性的一个有效措施。
2 通信处理阶段
在通信处理阶段,CPU检查有无通信任务,如果有则调用相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接口、编程器、HMI装置等)的通信处理,并对通信数据做相应处理。
3 读取输入
在读取输入阶段,PLC扫描所有输入端子,并将各输入端的通/断状态存入相对应的输入映像寄存器中,刷新输入映像寄存器的值。此后,输入映像寄存器与外界隔离,无论外设输入情况如何变化,输入映像寄存器的内容也不会改变。输入端状态的变化只能在下一个循环扫描周期的读取输入阶段才被拾取。这样可以保证在一个循环扫描周期内使用相同的输入信号状态。因此,要注意输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
4 执行程序阶段
可编程控制器的用户程序由若干条指令组成,指令在存储器中按顺序排列。当PLC处于运行模式执行程序时,CPU对用户程序按顺序进行扫描。如果程序用梯形图表示,则按先上后下、从左至右的顺序逐条执行程序指令。每扫描到一条指令,所需要的输入信号的状态均从输入映像寄存器中读取,而不是直接使用现场输入端子的通/断状态。在执行用户程序过程中,根据指令做相应的运算或处理,每一次运算的结果不是直接送到输出端子立即驱动外部负载,而是将结果先写入输出映像寄存器中。输出映像寄存器中的值可以被后面的读指令所使用。
5 刷新输出阶段
执行完用户程序后,进入刷新输出阶段。可编程控制器将输出映像寄存器中的通/断状态送到输出锁存器中,通过输出端子驱动用户输出设备或负载,实现控制功能。输出锁存器的值一直保持到下次刷新输出。
在刷新输出阶段结束后,CPU进入下一个循环扫描周期。
相关问答
plc程序如何写入和读取?
需要一台电脑,一根plc专用的编程线缆。或者plc有以太网口。推荐编程线缆有点是没有网口的plc也可以。电脑上要有plc软件装编程线缆的驱动。打开plc软件,设置好...
PLC的程序怎么写入和读出?
用PC连接PLC,打开PC上的三菱开发平台,点击在线,选择上载就是读出程序,选择下载就是写入程序用PC连接PLC,打开PC上的三菱开发平台,点击在线,选择上载就是读出...
怎样使用PLC编程器读取PLC程序?
使用上载功能即可上载(又称上传)是将CPU装载存储器中的程序复制到编程器或PC的硬盘中。下面几种方法可以实现程序的上载:在SIMATIC管理器中,执行菜单plc/Uplo...
如何查看plc内的数据?
1、首先需要上位机与PLC进行连接,并将程序读出在电脑编程软件中显示。2、对plc数据寄存器的监控有多种方法,第一种是有选择的监视,可以对需要查看的寄存器进...
怎么样将PLC的程序读取出来?
1首先,PLC的程序存储在PLC内部,无法直接读取。2但是,可以通过连接PLC和电脑进行程序的读取和修改。一般采用串口或以太网连接方式。3具体来说,需要使用特...
plc通过485如何采集智能仪表的数据?
第一步:确定智能仪表支持的通讯协议第二步:查找下所采用的PLC支持得通讯第三步:选择两个都支持的通讯协议即可,然后编写程序第一步:确定智能仪表支持的通讯协...
如何从PLCDB150数据块读取数据?
要从PLCDB150数据块读取数据,您需要使用PLC编程软件(如SiemensStep7或RockwellStudio5000)来访问PLC的内存区域。首先,您需要确定PLCDB150数据块...
plc如何直接读取数字电表数值?
直接读取数字电表的数值需要使用PLC和数字电表之间的通讯接口。以下是一般而言的步骤:1.根据数字电表的类型,选择合适的通讯协议。常见的协议包括MODBUS、Pr...
step7microWIN怎么把PLC模块里的程序读出来?原理是什么?
这个我来答吧~这个step7microWIN是对西门子S7-200系列PLC的,你要读取里面的程序首先需要有根数据线:有了数据线后将PLC通电,并且将USB插至电脑,串口插PLC...
plc如何读取伺服当前速度?
首先得查看伺服驱动器的使用手册,在该参数上有个地址,通过访问伺服驱动器的该地址,就可以查询到这个地址的内容了,也就是能读取到相应的数据了。首先得查看伺...