PLC教程理论篇之PLC 用作数据终端二

发布时间 : 星期四 文章PLC教程理论篇之PLC 用作数据终端二更新完毕开始阅读

PLC教程理论篇之PLC 用作数据终端

二、数据采集

1 开关量采集与存贮

开关量仅两个取值,较简单。如 ON 代表开工、OFF 代表停工。采集它的目的主要是,弄清什么时候发生了变化,如什么时候开工,什么时候停工。图 14-7 示的梯形图即为这个开关量采集程序。

a — OMRON PLC 程序 b — 西门子 PLC 程序 c — 三菱 PLC 程序

图 14-7 开关量采集

图 a 为 CPM2A 机的程序。图知,当“开工”信号 ON ,则把 AR19 的值,即 PLC 的“当前时日”值,传送给“开工日时”存贮字,AR18 的值,即 PLC 的“当前分秒”值,传送给“开工分秒”存贮字。而当“开工”信号 OFF ,则也是如此。注意,这里用的都是“微分”传送,只是在 ON 或 OFF 的那个扫描周期才进行这个传送。

图 b 为 S-200 机的程序。它在“开工”ON 或 OFF 的第一扫描周期中,执行 READ-RTC指令。把 PLC 实时时钟的年、月、日、时、分、秒、星期等值读到 VB100 开始的 8 个字节中。对应图 a 的“开工日时”为 VW102,“开工分秒”为 VW104;“停工

日时”为 VW112,“停工分秒”为 VW114。

图 c 为 FX2N 机的程序。它的实时时钟当前的“日值”存于 D8016,当前的“时值”存于 D8015 中,当前的“分值”存于 D8014,当前的“秒值”存于 D8013。为了把“日时”及“分秒”集中在一个字中,这里用了“SMOV”指令。其格式是:

其功能为,把这里 S 指定的 D1 字中,m1 指定的第 4(K4)位(最高数位)开始(倒数),m2 指定的共 2(K2) 数位,传送给 D 指定的 D2 字中,n 指定的第 3(K3)数位开始(倒数)的两个数位。

这里的数位为 4 个二进制位组成,即 Digit。前已解释,一个字,有两个字节,4 个数位。三菱的解释是,最高数位为第 4 位,最低的为第 1 位。本指令还可与特殊继电器 M8168配合使用,选择是否处理 16 进制与 BCD 码制之间的转换。M8168 ON 则不进行 BCD 转换,原样按数位移动。

提示:三菱 PLC 记录数据均为二进制格式,所谓 BCD 码,或为 10 进制表示,则一个字最大值只能为 9999。如为 16 进制格式,则最大数可达 65535 或 FFFF。

显然,PLC 采集了这组数据,再有了上位计算机读取这两组数据,稍作比较,就可清楚,当前是开工,还是停工?如是开工,还可知道,是什么时候开工?以及上次是什么时候停工?

2.模拟量采集

PLC 的模拟量是从模拟量输入单元读取的。而且,这个读取时间的延迟是很短的。一般为 PLC 扫描周期级的。个别的,如 C200H-TS001 之类温度检测单元要作一些平均数计算,为秒级。所以,当模拟量输入通道有了新的数时,也就完成了模拟量采集。图 14-8 示的梯形图即为这样一个转换程序。

a — OMRON PLC 程序 b — 西门子 PLC 程序 c — 三菱 PLC 程序

图 14-8 转换程序

图 a 程序为用于 CPM1A_MA002 单元的数据读入。因该模入单元读入的是 8 位二进制数,故一个模入通道读入的是两路数据,须把它分开。该图程序所作的就是这个工作。它把模入通道 1 读入的数据分成“第一路二进制码输入值”及“第二路二进制码输入值”。

图 b 程序用于 S7-200 EM231 模块单极性使用时的转换程序。它的原始数据格式为:

图 c 程序用于 FX0N3A 模块的数据读入程序。这里的用了 RD3A 指令采集数据。指令中 K0 为模块号 0,K1、K2 为模拟量模块上的输入通道 1、2。执行本程序的功能是,不停地读取模拟量模块输入通道 1、2 的数据,并分别存贮在 D0 及 D1 中。

提示:模拟量采集程序所用的指令及地址不仅与 PLC 的类型有关,还与模块的类型及其安装情况有关。设计这个程序,应参照所使用模块的有关说明书进行。此外,在模块使用前,还要做些硬件设定,或执行一些初始化程序,以确定使用的模拟量种类、变化范围、初值及比例系数等。

有时还须把采集的数据与采集时间关联,以看出被采集量随时间的变化,即所谓变化势监视。这个工作一般由上位机去做。但 PLC 本身也可完成。而且,由 PLC 作此工作,实时性更强。

为此,可在 PLC 的某存贮区设定一组(如 10 个字)工作区。用这个工作区动态记录被采集数据与采集时间有关的信息。

对此,有两种方法:一是定时采集;二是变化采集。

定时采集:可按一定的时间间隔采集数据,并按固定的地址记录。因采定时采集的时间是固定的,可不必记下采集时间。如每隔 5 分钟采集一次,那最近 5 分钟采集的数据存贮在数据区的最低的地址,次近的存贮高一个字的地址,其余依次存贮。所以,它的算法应是:每有新数据采集,先把低字的内容依次移向高字(原最高地址字的内容丢失),然后,再把

采集的新值存入最低字。图 14-9 示的即为这种梯形图程序。

a — OMRON PLC 程序 b — 西门子 PLC 程序 c — 三菱 PLC 程序

图 14-9 定时采集

图 a 为 OMRON PLC 程序。这里先是把“当前时分”(存贮当前几时几分的字)被常数 5(也可为别的常数)整除,其商数存于 HR0,余数存于 HR1 字中。然后再对 HR1 与常数 5 作比较。

如这时的时间为 5 分,或 10 分?,则比较相等(P-EQ ON),进而先把 DM100 到 DM1009中的数按字移位,DM108 的数移存给 DM109,DM107 的数移存给 DM108,等等。然后把最新的“第一路BCD 码输入值”存入 DM100。

可知,这里 DM100 到 DM109 中存的数分别为记录当时及前 5 分、前 10 分?的被

联系合同范文客服:xxxxx#qq.com(#替换为@)