大连西门子中国代理商触摸屏供应商
  • 大连西门子中国代理商触摸屏供应商
  • 大连西门子中国代理商触摸屏供应商
  • 大连西门子中国代理商触摸屏供应商

产品描述

产品规格模块式包装说明全新

大连西门子中国代理商触摸屏供应商


1.概述
目前设备远程控制在远程数据采集、安防、设备监控等领域得到广泛应用。本文以三菱PLC的远程控制为例讲述卓岚联网产品在设备远程控制方面的应用。提出了域名系统、NAT技术、断网恢复机制是实现设备远程控制的三大关键技术。
在该应用案例中,用户具有分布于世界各地的PLC,用户想通过任何一台能够连接到Internet的计算机对PLC的工作状态进行访问和修改。远程控制技术,避免了用户需要到现场诊断的麻烦,节省了人力物力。
上海卓岚科技的联网产品包括:嵌入式设备联网模块串口服务器等。使用卓岚联网设备进行设备远程监控的示意图如下图所示。
   如图所示如用户设备是一个类似PLC的带串口(DB9)的设备,则可以通过卓岚串口服务器连接到网络;如果用户设备电路板是可以重新设计的,则可以选用卓岚联网模块,并将其集成到用户电路板。两种方案在原理上是相同的。
    在远程计算机端,卓岚科技提供了3种方式方便用户和联网产品通信:
1.卓岚设备管理DLL+VB等程序。提供的DLL设备管理函数库,可以被用户程序所调用,用户只需使用提供的open、close、send、recv
   函数,即可实现通信。
2.串口程序+虚拟串口驱动。例如三菱PLC需要通过MELSOFT开发环境和PLC通信,某些Modbus设备则通过三维力控软件和设备通信,它们
   都是现成的串口程序。使用卓岚虚拟串口驱动,可以在网络化升级后,仍然使用这些串口程序。
3.Socket网络程序:对于用户,可以选择通过TCP/IP直接和联网产品通信。
2.域名(DNS)系统
域名系统的支持是远程控制的关键技术。目前网络接入以ADSL接入网络占绝大多数,但是若远程计算机通过ADSL联网,每次的IP是不同,解决设备如何知道远程计算机IP的问题,解决的方法是动态域名系统。
在卓岚远程控制技术中,远程计算机通过动态域名服务在每次联网时都可以获得的域名,例如yourname.。卓岚联网产品支持域名,可以用域名通信的的目的地址,例如将其设置为yourname.。
这样,无论远程计算机在何时何地通过ADSL接入网络,卓岚联网产品都可以在时间和其建立TCP连接。
3.网络地址映射(NAT)技术
NAT技术是解决两个内网之间计算机如何互联的技术。对于初次接触TCP/IP的用户,可能对于内网IP(例如192.168.0.200)、IP(例如114.123.223.12)、计算机如何访问内网计算机比较迷惑。计算机连接内网计算机时,不能简单地向该计算机的内网IP发起连接。这里关系到网络地址映射NAT技术。NAT技术可以在ADSL路由器上做一个NAT映射,将用户的内网IP映射为IP和端口。
在卓岚的设备远程控制应用案例中,提供了如何使用网络地址映射(NAT)技术实现网络连接的操作步骤,由于篇幅所限这里不详述。
4.的断网恢复机制
TCP连接的不正常中断在设备远程监控中比在局域网中加常见,因为在Internet环境下,中间的任何一台路由器出现问题都可以导致连接中断。
断网在远程监控中产生如下问题:如客户端务端建立TCP连接后,服务端由于掉电等原因重新启动,那么客户端将不再能够务端建立连接。原因很简单,因为客户端认为连接已经建立,这导致了服务端无法向客户端发送数据。
心跳包技术是目前常见的断网恢复机制,但是该方案并没有写入TCP/IP规范,原始是心跳包技术存在很多争议的负影响,例如增加了网络负担等。
卓岚的设备管理DLL库和虚拟串口驱动内部集成了的断网恢复机制,采用心跳包的技术,可以在服务端、客户端、中间路由器任何一方断网情况下,恢复连接。
5.总结
域名系统、NAT技术、断网恢复等关键技术保证了使用卓岚产品在实现PLC的远程监控方面的方便性、稳定性。
影响plc控制系统的干扰源与一般影响工业控制设备的干扰源一样,大都产生在电流或电压剧烈变化的部位,这些电荷剧烈移动的部位就是噪声源,即干扰源。
    干扰类型通常按干扰产生的原因、噪声干扰模式和噪声的波形性质的不同划分。其中:按噪声产生的原因不同,分为放电噪声、浪涌噪声、高频振荡噪声等;按噪声的波形、性质不同,分为持续噪声、偶发噪声等;按噪声干扰模式不同,分为共模干扰和差模干扰。共模干扰和差模干扰是一种比较常用的分类方法。共模干扰是信号对地的电位差,主要由电网串入、地电位差及空间电磁辐射在信号线上感应的共态(同方向)电压迭加所形成。共模电压有时较大,特别是采用隔离性能差的配电器供电室,变送器输出信号的共模电压普遍较高,有的可高达130V以上。共模电压通过不对称电路可转换成差模电压,直接影响测控信号,造成元器件损坏(这就是一些系统I/O模件损坏率较高的主要原因),这种共模干扰可为直流、亦可为交流。差模干扰是指作用于信号两间的干扰电压,主要由空间电磁场在信号间耦合感应及由不平衡电路转换共模干扰所形成的电压,这种让直接叠加在信号上,直接影响测量与控制精度。
PLC专为工业环境应用而设计,其为了适应此环境而采取了一系列抗干扰措施,已能工作。但在非常恶劣的条件下,也会导致PLC误动作。如:电磁干扰、高温、欠电等。 
电源、输入、输出接线是外部干扰入侵PLC的重要途径,为了提高PLC控制系统的性,应采取相应的抗干扰措施。 
一、抑制电源系统引入的干扰 
PLC应尽可能取用电压波动较小、波形畸变较小的电源,PLC的供电线路应与其他大功率用电设备或强干扰设备分开。在干扰较强或是性要求很高的场合可采用以下几种抗干扰方法: 
1、在PLC电源的输入端加接隔离变压器,由隔离变压器的输出端直接向PLC供电,这样可抑制来自电网的干扰。隔离变压器的电压比可取1:1,在一次和二次绕组之间采用双屏蔽技术,一次屏蔽层用漆包线或铜线等非导磁材料绕一层,注意电气不能短路,并接到中性线;二次则采用双绞线,双绞线能减少电源线间干扰。 
2、在PLC电源的输入端加接低通滤波器可滤去交流电源输入的高频干扰和高次谐波。在干扰严重场合,可同时使用隔离变压器和低通滤波器的方法。 
二、抑制输入、输出电路引入的干扰 
为了抑制输入、输出电路引入的干扰,一般应注意以下几点: 
1、开关量信号不容易受外界干扰,可以用普通单根导线传输; 
2、数字脉冲信号频率较高,传输过程中易受外界干扰,应选用屏蔽电缆传输; 
3、模拟量信号是连续变化的信号,外界的各种干扰都会迭加在模拟信号上而造成干扰,因而要选用屏蔽线或带防护的双绞线。如果模拟量I/O信号离PLC较远,应采用电流传输方式。而不用易受干扰的电压信号传输; 
4、PLC的输入、输出线要与动力线分开,距离在20cm以上,如果不能保证上述小距离,可以将这部分动力线穿管,并将管接地。绝不允许将PLC输入、输出线与动力线高压线捆扎在一起; 
5、应尽量减小动力线与信号线平行敷设的长度,否则应增大两者的距离以减小嗓声干扰。一般两线间距离为20cm。当两线平行敷设的长度在100--200m时,两线间距离应在40cm以上;平等敷设长度在200--300cm时,两线间的距离应在60cm以上; 
6、PLC的输入、输出线单敷设在封闭的电缆槽架内,线槽外壳要良好接地,不同类型的信号,如不同电压、不同电流类型的输入输出线,不能安排在同一根多芯屏蔽电缆内,而且在槽架内应隔开一定距离安放,屏蔽层应接地。 
三、PLC的接地 
1、PLC的接地采用的接地。如不可能,也可与其他盘板共用接地系统,但须用自己的接地线直接与公共接地相连。不允许与大功率装置共用接地系统; 
2、PLC的接地离PLC越近越好,即接地线越短越好。PLC如由多单元组成,各单元之间应采用同一点接地,以保证各单元间等电位。当然,一台PLC的I/O单元如果有的分散在较远的现场(过100m),是可以分开接地的 
3、PLC的输入输出信号采用屏蔽电缆时,其屏蔽层应用一点接地,并用靠近PLC这一端的电缆接地,电缆的另一端不接地。如果信号随嗓声波动,可以连接一个0.1--0.47微法/25V的电容器到接地端; 
4、接地线截面积应大于2平方。接地线一般长不过20m,PLC接地系统的接地电阻一般应小于4欧姆。


对于plc用户来说,在编写用户程序或选择设备时,清楚下面介绍的三个阶段,即用户程序执行过程的原理。
PLC采用集中处理的方法,即对输入扫描信号、执行用户程序和输出刷新都采用集中分批处理的工作方式。
(1)输入扫描 在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将输入信号存入输入映像区,输入映像存储器被刷新。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。如果输入设备能使PLC输入端形成闭合回路,对应输入端编号的内部输入继电器内保存为“1”,即相当于继电器线圈导通。在程序执行过程中,该编号对应的触点动作;如果输入设备能使输入开路,则对应输入端编号的内部输入继电器内保存为“0”,即相当于继电器线圈没导通,在程序执行过程中,该编号对应的触点不动作。如果在PLC处于非输入扫描的阶段,PLC外的输入设备状态发生了变化,内部输入继电器也不会发生变化,要等到下一个输入扫描阶段才能根据此时的输入状态来刷新。所以,对于少于十几毫秒的输入信号,经常采集不到。
(2)执行程序  在执行用户程序过程中,PLC按梯形图程序顺序自上而下、从左至右逐个扫描执行,即按助记符指令表的先后顺序执行。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,PLC从输入映像区中取出输入变量的当前状态,然后进行由程序确定的逻辑运算或其他运算,根据程序指令将运算结果存入相应的内部继电器中,包括输出继电器、内部辅助继电器、定时器、计数器等。输出继电器的信号存放在输出映像区,即输出继电器与PLC外部的同编号的输出点对应。
在程序执行过程中,同一周期内,的逻辑结果影响后面的触点,即后执行的程序可能用到的新中间运算结果;但同一周期内,后面的运算结果不影响的逻辑关系。该扫描周期内除输入继电器以外的所有内部继电器的终状态(导通与否),将影响下一个扫描周期各触点的开与闭。
(3)输出刷新  程序执行阶段的运算被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合。全部输出设备的状态要保持一个扫描周期。

关于模拟量的控制本人认为用plc有点费劲,虽然是可以实现但很繁琐,因为PLC算四则混和运算不是长项,例如你让PLC算A+B*C-D,它要分4步完成,无法一次全部处理完。运算的多了,编写程序就会很费劲,用语句编写还好点,若用梯形图因电脑屏幕有限很容易把程序员弄蒙!下面说说我对PLC模拟控制的一些想法:
一:模拟量的输入
实际工作中我都会将模拟量信号转为标准信号,如果它本身就是标准信号好,否则我会给它加变送器,例如温度采集时,我就用温度变送器将热电偶的信号转换为4-20MA电流信号或1-10V电压信号。(好像有直接采集温度的模块,但我没用过)如果可以尽量采用电流信号,这样干扰会小一些。信号线采用有屏蔽层的那种。然后就要考虑滤波问题了,因为干扰的存在,所以滤波。滤波方法有很多种:求平均值法,低通法等大概有10种左右,有时候要多种方法一起用。这要看你现场干扰情况了,实在不行在输入端并个电容,硬件滤波。这样我们将得到一个比较平和的模拟量,也就是我们要控制的那个量,温度,压力,流量,电压,电流等模拟量都可以这么采集,频率我不知道是不是有频率变送器,没用过,但是频率在不是很高的时候可以由开关量输入端输入,频率高了可以采用高速计数器,再高了我就不知道了。
二:给定值的输入
可以采用人机界面直接将给定值写到PLC的寄存器,也可以用电位器将电压信号传给PLC,也可以用上位机(电脑或其他设备)经网络传过来。
三:控制过程
根据所控制的模拟量的不同,所选的元件也不同。例如说温度,分为加热和制冷,加热要用加热管,制冷要用压缩机。压力如果是液压站的压力可以选比例溢流阀,流量控制要用电动蝶阀之类的阀,电压和电流可以是步进电机带动电位器的方法实现。应根据模拟量的不同选则合适的元件。以烤箱为例说明:设给定值为100摄氏度。我们需要的主要元件有加热管,固态继电器。在开始工作的初期因为温度是20度左右这时候加热管可以全功率运行,我们可以以1秒为单位,控制加热的速度,比如说0.9秒加热,0.1秒停电加热会很快。如果0.1秒加热,0.9秒停电加热就会慢。根据反馈回来的温度信号,我们可以改变这个比例。如果温度100我们可以断电,温度80我们可以通电,当温度到达80和100之间时再用这个比例让温度趋近于100.即使PLC能实现这些但实际工作中我也不会采用,你也看到了这种控制多么复杂,没有100步也得有50步,我肯定会蒙圈的。
四:建议
再实际工作中我都是采用的这样的方法,PLC加仪表的方法,比如说温度控制,我就用一块温控表去控制温度,因为它也可以驱动固态继电器或是其他元件,而且相当,滤波效果好,比PLC好10倍。而且它是PID控制的,我不用考虑哪些复杂的运算过程,在这里PLC只是将一个触点连接到温控表的控制线上,这样只有PLC触点吸合,温控表才能控制固态继电器,固态继电器才能给加热棒供电。其他的模拟量也可以采用这样的方法。如果PLC需要哪些数据用来存储,可以让仪表将那个数发给PLC或是给PLC提供一个标准信号。PLC也可以把设定值传给仪表,一般仪表的面板上都是可以设定给定值的。这样PLC起到的作用有两个负责启动停止和存储数据。而控制过程交给仪表。(如果你想要具体PLC控制模拟量的算法,你把条件写的清楚些,例如具体多少度,多少流量,如果我把所有的模拟量算法都写出来估计100000字都够呛说明白,不好意思了,另外模拟量控制一般都是用PID,而且具体问题还得具体分析,不是随便写个数就能用的)

202202251028534237144.jpg202202221739073176584.jpg20220222173907301904.jpg202202221739072455394.jpg

(一)数字量输入和输出映象区
1.输入映象寄存器(数字量输入映象区)(I)
数字量输入映象区是S7-200 CPU为输入端信号状态开辟的一个存储区。输入映像寄存器的标志符为I,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入映象寄存器中。
输入映象寄存器是plc接收外部输入的开关量信号的窗口。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从I0.0-I15.7,共有128点
(2)按“字节”方式:从IB0-IB15,共有16个字节
(3)按“字”方式:从IW0-IW14,共有8个字
(4)按“双字”方式:从ID0-ID12,共有4个双字
2.输出映象寄存器(Q)
数字量输出映象区是S7-200 CPU为输出端信号状态开辟的一个存储区。输出映像寄存器的标识符为Q(从Q0.0-Q15.7,共有128点),在每个扫描周期的末尾,CPU将输出映像寄存器的数据传送给输出模块,再由后者驱动外部负载。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从Q0.0-Q15.7,共有128点
(2)按“字节”方式:从0-15,共有16个字节
(3)按“字”方式:从QW0-QW14,共有8个字
(4)按“双字”方式:从QD0-QD12,共有4个双字
(二)模拟量输入映象区和输出映象区
1.模拟量输入映象区(AI区)
模拟量输入映象区是S7-200 CPU为模拟量输入端信号开辟的一个存储区。S7-200将测得的模拟量(如温度、压力)转换成一个字长(2个字节)的数字量,模拟量输入映像寄存器用标识符(AI)、数据长度(W)及字节的起始地址表示。
从AIW0-AIW30,共有16个字,总共允许有16路模拟量输入。
说明:模拟量输入值为只读数据。

2.模拟量输出映象区(AQ区)
模拟量输出映象区是S7-200 CPU为模拟量输出端信号开辟的一个存储区。S7-200将1个字长(2个字节,16位)的数字量按比例转换为电流或电压。模拟量输出映像寄存器用标识符(AQ)、数据长度(W)及字节的起始地址表示。
从AQW0-AQW30,共有16个字,总共允许有16路模拟量输出。
(三)变量存储器(V)(相当于内辅继电器
PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存储器就是根据这个实际的要求设计的。变量存储器是S7-200 CPU为保存中间变量数据而建立的一个存储区,用V表示。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从V0.0-V15119.7,共有40960点。CPU221、CPU222变量存储器只有2048个字节,其变量存储区只能到V2047.7位。
(2)按“字节”方式:从VB0-VB5119,共有5120个字节
(3)按“字”方式:从VW0-VW5118,共有2560个字
(4)按“双字”方式:从VD0-VD5116,共有1280个双字
(四)位存储器(M)区
PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据这个要求设计的。位存储器是S7-200 CPU为保存标志位数据而建立的一个存储区,用M表示,用M表示。该区虽然叫位存储器,但是其中的数据不仅可以是位,还可以是字节、字或双字。
(1)按“位”方式:从M0.0-M31.7,共有256点。
(2)按“字节”方式:从MB0-MB31,共有32个字节
(3)按“字”方式:从MW0-MW30,共有16个字
(4)按“双字”方式:从MD0-MD28,共有8个双字
(五)顺序控制继电器区(S)
PLC执行程序过程中,可能会用到顺序控制。顺序控制继电器就是根据顺序控制的特点和要求设计的。顺序控制继电器区是S7-200 CPU为顺序控制继电器的数据而建立的一个存储区,用S表示。在顺序控制过程中,用于组织步进过程的控制。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从S0.0-S31.7,共有256点
(2)按“字节”方式:从SB0-SB31,共有32个字节
(3)按“字”方式:从SW0-SW30,共有16个字
(4)按“双字”方式:从SD0-SD28,共有8个双字
 (六)局部存储器区(L)(相当于内辅继电器)
S7-200 PLC有64个字节的局部存储器,其中60个可以用作暂时存储器或者给子程序传递参数。
局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取(例如,主程序、子程序或中断程序)。局部是指导存储器区和特定的程序相关联。
几种程序之间不能互访。
局部存储器区是S7-200 CPU为局部变量数据建立的一个存储区,用L表示。该区域的数据可以用位、字节、字、双字四种方式来存取。
(1)按“位”方式:从L0.0-L63.7,共有512点。
(2)按“字节”方式:从LB0-LB63,共有64个字节
(3)按“字”方式:从LW0-LW62,共有32个字
(4)按“双字”方式:从LD0-LD60,共有16个双字
(七)定时器存储器区(T)
PLC在工作中少不了需要计时,定时器就是实现PLC具有计时功能的计时设备。定时器的编号:
T0、T1、.....、T255
S7-200有256个定时器
(八)计数器存储器区(C)
PLC在工作中有时不仅需要计时,还可能需要计数功能。计数器就是PLC具有计数功能的计数设备。
计数器的编号:C0、C1、......、C255
(九)高速计数器存储器区(HSC)
高速计数器用来累计比CPU扫描速率快的事件。S7-200各个高速计数器计数频率高达30kHz。
S7-200各个高速计数器有32位带符号整数计数器的当前值。若要存取高速计数器的值,则给出高速计数器的,即高速计数器的编号。
告诉计数器的编号为:HSC0、HSC1、......、HSC5。
S7-200有6个高速计数器。其中的CPU221和CPU222仅有4个高速计数器(HSC0、HSC3、HSC4、HSC5)
(十)累加器存储器区(AC)
累加器是可以像存储器那样进行读/写的设备。例如,可以用累加器向子程序传递参数,或从子程序返回参数,以及用来存储计算的中间数据。
S7-200CPU提供了4个32位累加器(AC0、AC1、AC2、AC3)。
可以按字节、字或双字来存取累加器数据中的数据。但是,以字节形式读/写累加器中的数据时,只有读/写累加器32位数据中的8位数据。如果是以字的形式读/写累加器中的数据时,才能一次读写全部32位数据。
因为PLC的运算功能是离不开累加器的。因此不能像占用其他存储器那样占用累加器。
(十一)特殊存储器区(SM)
特殊存储器是S7-200 PLC为CPU和用户程序之间传递信息的媒介。它们可以反映CPU在运行中的各种状态信息,用户可以根据这些信息来判断机器工作状态,从而确定用户程序该做什么,不该做什么。这些特殊信息也需要用存储器来寄存。特殊存储器就是根据这个要求设计的。
1.特殊存储器区
它是S7-200为保存自身工作状态数据而建立的一个存储区,用SM表示。特殊存储器区的数据有些是可读可写的,有一些是只读的。特殊存储器区的数据可以是位,也可是字节、字或双字。
(1)按“位”方式:从SM0.0-SM179.7,共有1440点。
(2)按“字节”方式:从SM0-SM179,共有180个字节。
(3)按“字”方式:从SMW0-SMW178,共有90个字
(4)按“双字”方式:从SMD0-SMD176,共有45个双字
说明:特殊存储器区的头30个字节为只读区。
2.常用的特殊继电器及其功能
特殊存储器用于CPU与用户之间的交换信息,例如SM0.0一直为“1”状态,SM0.1仅在执行用户程序的个扫描周期为“1”状态。
SM0.4和SM0.5分别提供周期为1min和1s的时钟脉冲。SM1.0、SM1.1和SM1.2分别是零标志、溢出标志和负数标志


目前,PLC(可编程逻辑控制器)已经广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化等各个,它具有高性、抗干扰能力强、功能强大、灵活,易学易用、体积小,重量轻,价格的特点,在流量计量方面也有着广泛的用途,在用于流量累积时又有其编程的特之处,下面进行详细的分析和论述,包括在西门子S7-200CPU上编程的例子。

流量计输出的信号一般是脉冲信号或4-20mA电流信号,这两种信号输出的都是瞬时(也有用继电器输出累积量信号,原理一样,不再赘述),我们的目的是在PLC中计算和显示瞬时流量值和计算累积量值,当输入信号是脉冲信号是,在计算瞬时流量的时候,按照一个严格的时间间隔计算才能保证瞬时流量的准确性,因此,计算瞬时流量的时候用定时中断来进行,而且,在PLC系统中只能运行这一个中断程序,不允许再产生其它中断(即使是低级的中断也不允许运行),以防止干扰定时中断的时间间隔的准确性,计算瞬时流量就是将这个时间段的累计脉冲个数换算成累计流量,再除以时间就是瞬时流量,对于4-20mA输入只需按照其对应的量程进行换算就可以直接得到瞬时流量,而累积流量就是将每个时间段内的累积流量累加起来就是累积流量,在实际使用PLC编程的过程中注意以下几个问题:

1. 输入脉冲频率范围是否出PLC接收的范围;

2. PLC高速计数器在达到大计数值时如何保证计算正确;

3. 如何保证定时中断不受干扰;

4. 如何避免计算累积量的误差;

5. 累积量的大累积位数;

6. 如何复位累积量;

下面就关键的2,4,6问题进行详细的叙述,以西门子S7-200 CPU224为例,S7-200的CPU224具有6个单相大30kHz的高速计数器,但PLC内部没有提供相应的算法来计算频率,因此,需要自己编程计算,这就需要在PLC高速计数器在达到大计数值时要保证计算的正确性,实际编程时,对高速计数器初始化以后就使之连续计数,不再对其进行任何干预,其高速计数器的初始化程序如下:


注意:此段程序应该放到PLC个扫描周期执行的程序中执行。

对于高速计数器是否达到大计数值时需要判断,S7-200CPU的高速计数器是可以周而复始的进行累计的,位为符号位,小值为7FFFFFFF,由于计数器是一直累加的,不可能出现本次读取的的计数值小于上次的计数值,因此判断计数器当前值是否小于次的计数值,就可以判断计数是否达到大值的拐点(7FFFFFFF),如果达到,则执行特殊的计算以便计算错误,如下列程序所示,当当前计数值大于等于上次计数值时,两个计数值做差,就得到程序两次扫描时间间隔内的计数差值,同时将当前计数值赋值到上次计数值上;当当前计数值小于上次计数值时,计算上次计数值与7FFFFFFF之间的差值(用减法),以及当前计数值和7FFFFFFF之间的差值(用加法),然后将两个结果相加就是程序两次扫描时间间隔内的计数差值,从而实现对对累计计数值达到拐点时的正确计算。


注:此程序应放在定时中断子程序中执行。

实际上,在现场应用中定时中断子程序是采用250ms中断一次执行的,使用SMB34进行控制的,需要注意的是,系统中只保证这个中断是存在的,不会受到其他中断的影响,否则可能会由于其他中断的影响使周期性中断不准时,从而影响精度。

通过以上计算就得到了250ms内流量计发过来的脉冲个数,这个数值乘以脉冲当量就是250ms内的流量值,再除以时间就是瞬时流量,另外,在250ms内再执行累加程序就可以计算累积流量了,在计算累积流量过程中需要避免累积过程的的计算误差,我们知道,流量累积量是一直累积的一个数值,一般会累积到8位数,而PLC内部的浮点数的有效位数是6位,当累积量数值很大的时候就会造成一个大数和一个小数相加,势必导致小数的有效位数丢失,造成很大的累积误差,因此,要避免大数和小数相加的情况出现,解决方法是采用多个流量累积器,只允许同数量级的数值相加,从而避免数值有效位数损失,实际编程中采用了5个累积器,根据常用流量情况下,在周期中断时间间隔(250ms)内流过的流量乘以15作为个累积器的上限,当达到这个累积器的上限值后,将这个累积器的值累加到2个累积器中,并把个累积器清零,对于三个累积器也同样处理,4个累积器用于保存累积量小数部分数值,5个累积器用于保存累积量整数部分数值,这样在显示总累积量时只需显示整数部分和小树部分就可以了,整个过程充分避免了累积过程中大数与小数相加的情况出现,在实际工程中,需根据流量的大小、周期中断的时间间隔来确定所用累积器的个数,而累积器的整数部分用双整数来表示,双整数的范围是-2,147,483,648到+2,147,483,647,因此,可以使累积器的整数位数达到9位,这样,在显示累积量时就可以多显示9位整数的累积量和6位的小数累积量。总计15位,从而省略累积器倍乘系数,使读数简便。

对累积器需要在一定条件下复位,累积到大数值或手动复位,在中断程序中判断累积量是否达到过大位数,当过大数值时,将各个累积器清零,另外清零的触发信号也可以是手动触发。




http://zhangqueena.b2b168.com

产品推荐