FX1S、FX1N、FX1NC和FX3G系列有两个内置的设置参数用的小电位器,“外部调节寄存器”D8030和D8031的值(0~255)与小电位器的位置相对应。
要求在X5提供的输入信号的上升沿,用D8030对应的电位器来设置定时器T0的设定值,设定的时间范围为10~15s,即从电位器读出的数字0~255对应于10~15s。设读出的数字为N,定时器的设定值为
(150−100)×N/255+100=50×N/255+100
式中的150是100ms定时器T0定时15s的设定值。为了保证运算的精度,应先乘后除。N的最大值为255,乘法运算的结果小于一个字能表示的最大正数32767,因此可以使用16位除法指令DIV。除法运算的结果占用D20(商)和D21(余数),D21不能再作它用。图4-50是实现上述要求的程序(见随书光盘中的例程“\四则运算”)。
做仿真实验时,打开软元件登录监视视图,生成要监视的软元件(见图4-51),单击工具条上的监视开始按钮,启动监视功能。
图4-50 梯形图
图4-51 软元件登录监视视图
操作步骤如下:
1)双击监视表第一行的D8030,用打开的软元件测试对话框设置它的值为255。
2)在软元件测试对话框的“位软件区”输入X5,将它强制为ON,然后强制为OFF。观察D30中运算的结果是否为150(15s)。
3)用软元件测试对话框将X6强制为ON,观察T0的当前值是否不断增大,是否按预置值定时。
4)设置D8030的值为0,观察在X5的上升沿时,D30的值是否变为100(10s)。
5)设置D8030的值为0~255之间的任意值,观察在X5的上升沿时,D30的值是否正确。
在做硬件实验时,调节FX1S、FX1N、FX1NC或FX3G内置的小电位器,检查D8030和D8031的值(0~255)是否与小电位器的位置相对应,而不是像仿真那样,用软件设置它们的值。
FX系列的模拟量设定功能扩展板FX2N-8AV-BD上有8个电位器,可以用应用指令VRRD(FNC 85)读出各电位器设置的8位二进制数,用来作定时器、计数器等的设定值。程序设计方法与图4-50的程序基本上相同。
2.依次显示C0~C9的当前值
X10为ON时将变址寄存器Z0清零(见图4-52)。在X11的上升沿,完成下列操作:(www.xing528.com)
1)将软元件号为C0Z0的计数器的当前值转换为BCD码,然后送给Y0~Y17 K4Y0)显示(见图4-6)。
2)将变址寄存器Z0加1,为X11的下一个上升沿显示下一个计数器的当前值做好准备。
3)如果Z0的值为10(已显示完10个计数器的当前值),比较指令CMPP指定的M1为ON,则将Z0清零,为下一轮显示做好准备。
图4-52 数学运算指令应用程序
做仿真实验时启动软元件监视视图,生成X窗口、Y窗口和计数器当前值窗口。操作步骤如下:
1)设置C0~C9的当前值。
2)将X10置为ON,Z0被清零,然后将X10置为OFF。
3)多次双击X11,观察在它由OFF变为ON的上升沿是否能依次显示C0~C9的当前值。
4)显示完C9的当前值后,观察在X11下一个上升沿是否能显示C0的当前值。
3.模拟量计算
压力变送器的量程为0~180kPa,输出信号为4~20mA,模拟量输入模块的量程为4~20mA,转换后的数字量为0~4000,设转换后的数字为N,如果运算结果以kPa为单位,则转换公式为
计算出的整数压力值为0~180 kPa,与模拟量模块输出的0~4000相比,分辨率丢失了很多。显然kPa这个单位太大,因此将压力的单位改为0.1kPa,压力的计算公式为
图4-53是压力计算的程序,模拟量输入模块输出的转换值用D22保存。因为乘法运算的结果为32位,采用32位的除法指令。仿真调试时用D窗口设置模块的转换值,用梯形图监视D26中的运算结果,单位为0.1kPa。
由式(4-1)可知最终的运算结果不会超过一个字,在32位除法指令中,运算结果用D26和D27组成的32位整数保存。实际上运算结果的有效部分在低位字D26中,高位字D27的值为0。
图4-53 压力计算程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。