PLC矩阵输入(2)

2019-04-05 14:47

AN 有键按下

S 有键按下, 1 //有键按下,置标志位 JMP 0 LDN 有键按下

MOVW 0, MW0 //无键按下,清零跳出 JMP 9

Network 2 散转程序 LD 有键按下 A 第0行

JMP 10 //跳至第0行 LD 有键按下 A 第1行

JMP 11 //跳至第1行 LD 有键按下 A 第2行

JMP 12 //跳至第2行 Network 3 逐行扫描 LBL 0 //第0行处理 LD 有键按下 RI 第0行, 3

SI 第0行, 1 //立即置位Q0.0 JMP 9 LBL 10 LD 第0列 = KEY_0 //0键

JMP 9 LD 第1列 = KEY_1 //1键 JMP 9 LD 第2列 = KEY_2 //2键 JMP 9

LBL 1 //第1行处理 LD 有键按下 RI 第0行, 3

SI 第1行, 1 //立即置位Q0.1 JMP 9 LBL 11 LD 第0列 = KEY_3 //3键 JMP 9 LD 第1列 = KEY_4 //4键 JMP 9 LD 第2列 = KEY_5 //5键 JMP 9

LBL 2 //第2行处理 LD 有键按下 RI 第0行, 3

SI 第2行, 1 //立即置位Q0.2 JMP 9 LBL 12 LD 第0列 = KEY_6 //6键 JMP 9 LD 第1列 = KEY_7 //7键 JMP 9 LD 第2列 = KEY_8 //8键

JMP 9 LD 有键按下 R 有键按下, 1 //无键按下,清标志位 Network 4 软件延时 LBL 9

LD 有键按下 //有键按下才延时 FOR VW0, 1, 500 NOP 0 NEXT

4.4 程序的说明

(1) 程序采用了立即置位、复位指令SI和RI,是为了更及时的置位复位输出点,使程序的执行不受扫描周期的影响,也可用字节立即写指令MOV_BIW来实现,但应该考虑对其它未用点的影响。

(2) 程序的最后采用了软件延时,是为了解决程序指令执行时间与输入输出滞后时间的不匹配。利用编程软件STEP7-Micro/WIN V4.0中的System Block下的Input Filters选项可以设置输入滤波时间,默认为6.4ms,减少滤波时间可以相应的减少软件延时次数,但若滤波时间太小又达不到消抖动的目的。 (3) 程序中没有考虑多键同时按下的问题,在现有的程序中,若不同行有多个键按下,均以最先按下的那个键为准进行响应,但若同一行上有多个键按下,则又分要几种情况,因此在应用时,应加强对按键的限制条件,避免由于误操作而造成生产设备的损坏。

(4) 程序中对每个按钮的响应均是按下该键,则对应的存储位为“1”,放开该键,则为“0”,没有其它较为智能的功能。若键盘中有“加速”、“减速”等类似键 时,往往希望有连续加减的功能,即按下“加速”一定时间后(如500ms),按照每规定时间(如100ms)增加一个单位的速度值,此时可以利用两个定时 器实现,其STL程序如下。 LD 加速 TON T37, 5 LD 加速 EU

= 加速上升沿 LD T37

AN 每100MS通电一次 TON T38, 1 LD T38

= 每100MS通电一次 LD 每100MS通电一次 O 加速上升沿 EU

+I 1, 速度存储值

5 结束语

本 文提出了在PLC系统中设计矩阵式键盘的一般方法并给出了3×3键盘的硬件连线图和STL程序。在键数较多时,矩阵式键盘可以大大节省PLC的I/O点 数,但程序设计的复杂度也随之增加,因此使用时应在系统的硬件成本和实时性之间加以均衡考虑。此外,本文的设计思路具有通用性,只需稍加变动,就可移植到 其它品牌的PLC中。文中的STL程序均已通过S7-200的编程软件STEP7-Micro/WIN V4.0在CPU226 DC/DC/DC上调试通过,说明了本文设计方法的可行性。


PLC矩阵输入(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南昌工程学院(综合)课程设计(论文)撰写规范20151113

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: