PLC日期限制的一个小程序
此处以信捷PLC为例(目前我用的就这个),信捷PLC为仿三菱的,功能与指令都相差无几
BIN为二进制转换指令,此种PLC必须先转换为二进制码,三菱的貌似不需要。
D8018 特殊寄存器万年历时钟年 00-99
D8017 特殊寄存器万年历时钟月 1-12
D8016 特殊寄存器万年历时钟日 1-31
以上寄存器为出厂就设置好的,如要更改将用到时钟运算指令TWR,在此不啰嗦。
M8000 运行常ON继电器
含义
第一条指令至第三条指令将PLC内部特殊寄存器中的数据转换为二进制码存放到数据寄存器D中
(数据寄存器为16位二进制,最高为符号位,0为正,1为负),在上位机显示时以十进制显示。
第四条指令为了方便直观,故加2000显示两千零几年。
下面的指令使用的为比较指令
例如 ld> s1 s2 当S1大于S2时此节点接通
如有不懂请查看我发过的指令说明。
以下图为例
第四行指令当当前年份大于2009,月份大于7,日期大于29,即2010年8月30日时,M303接通,为了防止日期循环到下月1号M303又断开,故第五行指令在月份进位时导通,第六行指令亦是如此,因此在2010年8月30号以后M303将一直导通,此时将M303的常闭触点串联到后面的程序中即可实现日期定时功能
本人也是刚学PLC不久,如此雕虫小技与大家共同成长,请勿见笑。
LD M8000
BIN D8018 D4013
BIN D8017 D4011
BIN D8016 D4012
ADD D4013 K2000 D4010
LD M8000
LD> D4010 K2009
LD> D4011 K7
AND> D4012 K29
OR> D4011 K8
ANB
OR> D4010 K2010
ANB
OUT M303
END