西门子6ES7223-1BF22-0XA8
西门子6ES7223-1BF22-0XA8
上海屹磐自动化控制设备有限公司欢迎广大客户来电咨询
联系人:颜晓蕾 手机:13611793628 商务QQ:2933368805
电话(TEL):021-60512612 传真(FAX):021-37786635
邮箱:2933368805@qq.com 网站:http://www.yipangk.com
24小时销售技术服务热线:13611793628
超低价格供应西门子产品,上海屹磐长期备有大量现货,全新原装,质保一年因产品质量问题一年内无条件包换,
价格优势,原装正品。欢迎来电咨询订购!
西门子上海屹磐 :24小时销售热线 :13611793628 颜晓蕾 电话 :021-60512612
产品规格:全新原装
产品质量:质量保证
产品价格:价格优势
产品货期:现货销售
*******************************************************************
标题:模拟电位器:
// * *
* * * * * * * * * * * * *主程序 * * * * * * * * * *
* * * * *
// 这是S7-200的一个演示程序,介绍了使用模拟电位器调整定时器设定值的三种方案。
// 方案1:对来自POT 0的值进行换算并加偏移量,以调整定时器的设定值,可以从200ms调到的1.48s。
// 方案2:从POT 1来的值经过滤波给定时器提供0ms到约2.55s的稳定的设定值。每个定时器周期QB1
// 方案3:把POT 0的值直接作为定时器设定值。每个定时器周期QB0加1。
// 模拟电位器POT 0和POT 1的值可以分别从SMB28和SMB29中以一个字节读出。
// 每次扫描时,POT的值会变化一点,方案1和2都能为定时器提供稳定的设定值。
// 方案1的设定值会改变1次或2次,但每个定时器周期只装载一次。
// 方案2的设定值非常稳定,每次扫描都装载。
// 方案3的设定值每次扫描都会改变。
// 主程序:
LD SM0.1 // 首次扫描时清除工作缓冲区:
MOVD+0,AC0 // AC0=0。
MOVD+0,AC3 // AC3=0。
MOVW+0,VW10 // VW10=0。
MOVW+32000,VW14 // 低限工作区复位。
MOVW+0,VW16 // 高限工作区复位。
// 方案1:
// 每次扫描时POT的值会改变一点。
// 下面的指令用来在每个定时器周期捕获一次换算后的值,并提供一个稳定的定时器设定值。
LD I0.0 // 如果输入I0.0为1状态,则选方案1。
TON T33,VW0 // POT 0的值经运算后作为T33的设定值。
CALL 1 // 调用子程序1对POT 0的值进行换算并加偏移量。
LD T33 // 若T33计时到,
INCW AC2 // 则AC2加1,即定时器循环计数。
MOVB AC2,QB0 // 把AC2的最低有效字节拷贝到输出字节QB0,以供显示。
R T33,1 // 定时器T33复位。
// 方案2:
LD I0.1 // 如果输入I0.1为1状态,则选方案2。
CALL 2 // 调用子程序2,对POT 1的值进行滤波运算后存入VW18。
TON T34,VW18 // VW18的值作为T34的设定值。
LD T34 // 若T34计时到,
INCW VW20 // 则VW20加1,即定时器循环计数。
MOVB VB21,QB1 // 把VW20最低有效字节(VB21)拷贝到输出字节QB1,以供显示。
R T34,1 // 定时器T34复位
// 方案3:
LD I0.2 // 如果输入I0.2为1状态,
AN I0.0 // 且方案1不在运行(I0.0=0),则选方案3。
MOVW 0,AC1 // 清除累加器1(AC1)
MOVB SMB28,AC1 // 送POT 0的值到AC1。
TON T35,AC1 // POT 0的值作为T35的设定值。
LD T35 // 若T35计时到,
INCW AC2 // 则AC2加1,即定时器循环计数。
MOVB AC2,QB0 // 把AC2最低有效字节拷贝到输出字节QB0,以供显示。
R T35,1 // 定时器T35复位。
MEND // 主程序结束
// 方案1的子程序
SBR 1 // 子程序1。
// 换算POT 0的值并加上偏移量后存在VW0中,再返回主程序。
LD T33 // 每个定时器周期检查POT
0的变化。
MOVW 0,AC1 // 清除累加器1(AC1)。
MOVB SMB28,AC1 // 送POT 0的值给AC1。
DIV 2,AC1 // AC1除2,即把POT 0的输入范围从0~255换算成0~127。
+1 20,AC1 // 加200ms偏移量。
MOVW AC1,VW0 // 把AC1值拷贝到VW0,以便能让程序员读取。
RET // 子程序1结束。
// 方案2的子程序
SBR 2 // 子程序2。
// 对POT 1值采样100次,然后求平均值。
INCW VW10 // 扫描计数器加1。
MOVB SMB29,AC0 // 送POT 1的值到AC0。
+1 AC0,AC3 // 再加到以前的总和中(即累加POT1的值,共累加100次)。
LDW VW10,100 // 100次扫描之后。
DIV 100,AC3 // 求平均值。
MOVW AC3,VW12 // 存平均值。
MOVW 0,VW10 // 扫描计数器复位。
MOVD 0,AC3 // 工作内存复位。
AW<= VW12,VW14 // 检查新的平均值是否在保护区之外。
OW>= VW12,VW16 //
FILL VW12,VW14,3 // 把新的平均值存入VW14,VW16,VW18。
-1 +3,VW14 // 设置新的低保护限。
+1 +3,VW16 // 设置新的高保护限。
RET // POT 1的滤波值存在VW18中,返回主程序
价格优,想找配件就来上海屹磐,我们的价格合理,价格优惠,品质保证,欢迎来电垂询!
*******************************************************************
每个定时器周期QB0加1。
加1。
*您的姓名:
*联系手机:
固话电话:
E-mail:
所在单位:
需求数量:
*咨询内容: