《计数器及数据指令》由会员分享,可在线阅读,更多相关《计数器及数据指令(70页珍藏版)》请在金锄头文库上搜索。
1、2019/11/8,PACsystems RX3i指令系统,自动化系 刘彬,4十字路口交通信号灯控制程序设计,控制要求: 设计一十字路口交通信号灯的控制程序,要求按下启动按钮后各信号灯的闪亮时序如图所示,当按下停止按钮时,各信号灯均灭。,I/O分配表,参考程序1,参考程序1,参考程序2,1.系统上电后,可以选择手动或自动方式运行。 2.手动运行方式:物料检测开关、跑遍开关均不起作用,皮带机可以实现手动正转启动或者手动反转启动,按下停止按钮皮带机停止运行;手动方式一般用于皮带机检测过程,也可在自动方式出现信号异常时临时由工作人员手动现场操作。,具体控制要求为:,3.自动运行方式:系统进入等待状态
2、,皮带机等待物料检测开关信号,当有物料时,皮带机正转启动,当物料检测开关在10秒内指示没有物料时,皮带机再延时5s,待已有物料传送到下一工序后自动停车,以节省能源;跑遍开关检测皮带是否有跑遍现象,在皮带跑遍达到150时,系统开始蜂鸣器报警,皮带跑遍达到300时,系统蜂鸣器报警并立即停止皮带机运行;无论何时,如果急停按钮按下,则系统立即停止运行;在系统非正常停止运行后,需按下复位按钮,系统才能够重新正常启动。,系统I/O分配表:,二. 计数器指令,计数器功能块包括:减计数器、增计数器,1. 减计数器,减计数器(DNCTR)功能模块从预置值递减计数。最小的预置值(PV)为 0,最大的预置值为+32
3、767。当当前值(CV)到达最小值-32768,它将保持在那里不变直到复位。当DNCTR复位,CV被置为 PV。当能量流输入从 OFF变为 ON,CV开始以1为单位递减。当CV 0时,输出为 ON。 当失电时,DNCTR的输出状态Q被保持;在得电时不会发生自动初始化。 注意不要和其他指令一起用减计数器的地址。重叠的地址将引起不确定的计数器操作。,减计数器操作数,减计数器使用方法,2. 增计数器,增计数器功能模块(UPCTR)从预置值(PV)递增计数。计数的范围为0到32767。当当前值(CV)到达 32767,值将保持直到复位。当UPCTR重置为ON,CV重置为 0。每次当能量流从 OFF转换
4、为 ON,CV增加 1。CV能增加到超过 PV。只要CV PV,则输出为 ON。输出Q保持 ON直到R输入接收到能量流来重置 CV为 0。 在失电时 UPCTR的状态保持,得电时不会发生自动初始化。,增计数器操作数,增计数器使用方法,增减计数器应用,例1:由定时器和计数器构成的长延时电路,控制要求:在控制开关闭合后,开始24小时30分钟的长延时,延时时间到则Q00001输出30秒脉冲。,有没有问题?,6.5 数据处理功能,6.5.1 数据转换功能,数据转换功能能够把一个数据从一种数字格式(数据类型)变为另一种数字格式。在程序指令,数学函数等应用中,必须使用某种类型的数据,因此在使用这些指令前进
5、行数据转换是必要的。,角度、弧度转换,当 DEG_TO_RAD或RAD_TO_DEG使能激活,对输入IN的值作弧度或角度的转换,把结果放在输出点Q中。如果计算结果无溢出,DEG_TO_RAD和 RAD_TO_DEG向右传递能流,除非IN不是数字。,例:+1500 被转换为度数,结果放在%R00001 和%R00002 里.,6.5.2 数据传送功能,传送指令可将单个数据或多个连续数据从源区传送到目的区,主要用于PLC 内部数据的流转。,块清零指令,当块清零 (BLKCLR_WORD)功能块接收到能流,它就从IN开始的指定区域用零填充指定数据块。当要清零的数据来自布尔型(离散型)存储器(%I,
6、%Q, %M, %G, or %T)时,和该区域相关的转变信息被刷新。只要BLKCLR_WORD接收到能量,就向右传递能流。,例:上电时,从%Q0001开始的32字的%Q存储器(512点)都被置零。与这些区域相关的转换信息也被更新。,块传送指令,当块传送功能块(BLKMOV)接收到能量流时,它复制一个七位常量的块到开始于输出Q中指定的目的地址的连续存储单元。只要BLKMOV功能块使能激活,就向右传递能流。,除BLKMOV_REAL指令外,可用的块传送指令还有:BLKMOV_DINT ;BLKMOV_DWORD;BLKMOV_INT ; BLKMOV_UINT;BLKMOV_WORD。,当名为#
7、FST_SCN表示的输入使能端打开时,BLKMOV_INT把七个输入常量复制到从%R0010至%R0016的存储单元。,例:请使用数据传输指令设计一程序实现:一个定时器在I00081 闭合和断开时分别有10s和20s两个不同的定时时间。,例:请仿照前例,设计一计数器实现:计数器在I00085 闭合和断开时分别有100次和120次两种不同的计数次数。,6.5.3 数据表功能,数学运算指令,算术运算指令包括加、减、乘、除及常用函数指令。,在使用一个数学或数字功能之前,编制的程序可能需要包含转换数据类型的逻辑。,当功能块接收能量流,其将输入IN的绝对值送至输出 Q。,1绝对值,2加运算,当 ADD功
8、能块接收能流时,其将具有相同数据类型的两个操作数 IN1和 IN2相加并将总和存储在赋给Q的输出变量中。,当 ADD执行无溢出时,能流输出激活。 若发生一个无效操作,例如 ADD_DINT,ADD_INT 或ADD_REAL操作导致溢出,Q设置为具有适当符号的最大可能值并且没有能流(符号由IN1和IN2决定)。 如果 ADD_UINT操作导致溢出,Q设置为最小值(0) 。,功能举例,本例试图建立一个能计算开关%I0001闭合次数的计算回路,但不成功。,改进程序,其它数学运算指令,注:(1)执行乘法和除法操作时注意避免溢出情况发生; (2)当乘或除16位数时避免溢出,使用转换功能把该数转换成32
9、位格式。,如果操作没有导致溢出,能流输出打开,除非下列无效浮点数操作之一发生。在这些情况下,能流设为 OFF。 加法(+)、减法 () - () 乘法,0 除法,0除0、除 IN1和/或 IN2不是一个数值,6.8.3 高等数学函数运算指令,例:算术运算指令举例 控制要求:试编程实现 (cos 400 +sin 600)*e 5的计算,模拟量的使用,模拟量输入模块IC695ALG600,共8个通道 (demo箱接了3个通道) 每个通道都可以软件组态成不同的输入类型 热电偶(TC)输入: B,C,E,J,K,N,R,S,T RTD(电阻式温度检测器): PT385 电阻输入: 0250/500/
10、1000/2000/3000/4000 欧姆 电流输入:0-20mA, 4-20mA,-20+20mA 电压输入: 010V, -10V+10V,模拟量输入模块IC695ALG600接线图,电压、电流输入接线图,热电阻输入接线图,模拟量输入模块的配置,模拟量输入模块IC694ALG600的通道Channel3对电位器输入0-5V电压信号,模拟量输入模块的地址,模拟量输出模块 IC695ALG704,共4个通道 每个通道都可以软件组态成不同的输出类型 电流输出:0-20mA,4-20mA 电压输出: 010V, -10V+10V,模拟量输出模块IC695ALG704/708接线图,模拟量输出模块
11、的配置,模拟量输出模块IC694ALG704的输出通道Channel1,输出到了DEMO箱的电压/电流表中。,模拟量输出模块的地址,例:请设计一10ms采集一次的模拟量采集程序,然后输出到模拟量输出模块的第一个通道中。,作业:请设计一10ms采集一次的模拟量采集程序,并且将10次采集到的值放入一个队列中,求滑动平均值,然后输出到模拟量输出模块的第一个通道中。,关系功能(比较)指令,当比较(CMP)功能块接收数据流,它将数值IN1 跟IN2 进行比较。 如果IN1 IN2, CMP 使GT (大于)输出激活 IN1 和IN2 必须是相同的数据类型。CMP 比较下面类型的数据:DINT, INT,
12、 REAL 和UINT。,功能举例,当%I00001打开时,整数变量SHIPS与变量 BOATS比较。内部线圈%M00001, %M00002,和 %M00003设置为比较的结果。,关系功能指令,范围功能指令,当范围功能块激活,它将输入 IN与操作数 L1和L2限定的范围进行比较。L1与 L2中的任一个都可是上限或下限。当 L1 IN L2 或 L2 IN L1时,输出参数Q设置为 ON(1),否则,Q设为OFF(0)。,功能举例,当 RANGE_INT从常开触点%I0001接收能量流,它测定%R00003中的数值是否包含在 0到 100的范围内。只有 0%AI0050100时输出线圈%M00002打开。,1. 对PACsystems RX3i 演示实验箱中的模拟量输入模块IC694ALG600及模拟量输出模块IC694ALG704进行配置;,模拟量的操作,图1.模拟量输入模块IC694ALG600的配置,图2.模拟量输出模块IC694ALG704的配置,例. 上下限位报警控制 控制要求:某压力检测报警系统,通过传感器检测压力向模拟量模块输入0V10V 电压信号,通过A/D转换器转换为相应数字量存放在AI中。试编程实现转换值超过80时,红灯亮报警;超过90时,红灯闪烁(0.5秒亮,0.5 秒灭)报警;转换值低于10时,黄灯闪亮报警;正常运行时,绿灯亮。,