福州西门子中国一级代理商|变频器更新2023
福州西门子中国一级代理商|变频器更新2023福州西门子中国一级代理商|变频器更新2023福州西门子中国一级代理商|变频器更新2023
三菱FX PLC学习之时钟处理指令(下)
上篇文章讲述的是PLC的时钟与部分指令,显然,PLC也可以作为时钟用于查看时间,但我想,没有谁会专门买个PLC做钟表用吧?
上篇文章所分享的指令是时钟数据读/写指令,即TRD和TWR。这次我们继续解读时钟的其他指令,分别是时钟数据比较指令TCMP、时钟数据区比较指令TZCP、时钟数据加法指令TADD、时钟数据减法指令TSUB。
观察以上4个指令,大家是否觉得似曾相识?回顾我之前分享的比较指令和数值运算指令,前提是你们看过的话,就会发现,它们是多么的相似!
既然如此相似,那么它们的区别在哪呢?我们接着往下看。
一、TCMP时钟数据比较指令
TCMP指令的编程手册截图如下图26-1所示。从图可知,TCMP指令只适用于16位,有连续执行型和脉冲执行型两种。
图26-1
TCMP指令是一个时钟比较指令,即它比较的是时间,这里的时间显然不是年月日,而是时分秒。其梯形图形式截图如下图26-2所示。
图26-2
TCMP指令有5个操作数S1、S2、S3、S、D,它们的含义如下:
S1:*比较基准时间的“时”或其存储地址;
S2:*比较基准时间的“分”或其存储地址;
S3:*比较基准时间的“秒”或其存储地址;
S :*时间数据的存储首地址,占3个点,即S、S 1、S 2分别存储时间数据的时、分、秒;
D :根据比较输出ON/OFF,占3个点,且D、D 1、D 2在驱动条件断开后仍能对当前状态保持不变。
其中,时间数据的“时”设定范围为0~23,“分”和“秒”的设定范围为0~59。从图26-2所示可以看到,当驱动条件成立时,将*的时间数据(S、S 1、S 2)与基准时间(S1、S2、S3)进行大小比较,根据比较结果驱动位元件D、D 1、D 2中的一个。
图26-3
如图26-3,位元件的驱动依据如下:
(1)当时间数据S:S 1:S 2(时:分:秒)<基准时间S1:S2:S3(时:分:秒)时,D为ON;
(2)当时间数据S:S 1:S 2(时:分:秒)= 基准时间S1:S2:S3(时:分:秒)时,D 1为ON;
(3)当时间数据S:S 1:S 2(时:分:秒)>基准时间S1:S2:S3(时:分:秒)时,D 2为ON。
和数据比较指令CMP想比较,显然TCMP的约束比较多,首先是操作数,TCMP指令中的操作数有5个,占用软元件有9个,而CMP指令操作数有3个,占用5个软元件。其次是所比较的数据,TCMP比较的是时间数据,所以数据设定范围有规定,但CMP指令的数据没有设定范围(除了字元件本身的存储范围)。另外,TCMP指令只适用于16位,而CMP可用于32位。
总的来说,两个指令都是数据的比较,而且都是根据比较结果驱动相应的位元件。
对于时间大小的比较,这个就不用我解释了吧?会有人认为5点钟比6点钟大的吗?这已经是常识了╮(╯_╰)╭。
知道了TCMP指令后,我们继续看TZCP指令。
二、TZCP时钟数据区间比较指令
TZCP指令的编程手册截图如下图26-3所示。从图可知,TZCP指令也只适用于16位,有连续执行型和脉冲执行型两种。
图26-4
知道了TCMP指令,想来TZCP指令的解读也不难,它和ZCP指令非常类似。TZCP指令有4个操作数S1、S2、S、D,如下图26-5所示,比TCMP少了一个,但TZCP指令占用的软元件比TCMP多。各个操作数的含义如下:
S1:*比较基准下**间的“时”或其存储地址,占用3个点;
S2:*比较基准上**间的“时”或其存储地址,占用3个点;
S :*时间数据的“时”的存储地址,占3个点,即S、S 1、S 2分别存储时间数据的时、分、秒;
D :根据比较输出ON/OFF,占3个点,且D、D 1、D 2在驱动条件断开后仍能对当前状态保持不变。
图26-5
根据各个操作数的定义,可以看到,TZCP指令共占用了12个软元件,使用时一定要注意这些软元件是否被共享。
TZCP指令的执行功能如下:
(1)当时间数据S:S 1:S 2(时:分:秒)<下**间S1:S1 1:S1 2(时:分:秒)时,D为ON;
(2)当下**间S1:S1 1:S1 2(时:分:秒)≤时间数据S:S 1:S 2(时:分:秒)≤上**间S2:S2 1:S2 2(时:分:秒)时,D 1为ON;
(3)当时间数据S:S 1:S 2(时:分:秒)>上**间S2:S2 1:S2 2(时:分:秒)时,D 2为ON。
TZCP指令和ZCP指令的区别类似于TCMP指令和CMP指令,在此不再赘述。
三、TADD时钟数据加法指令和TSUB时钟减法指令
TADD指令和TSUB指令的编程手册截图如下图26-6所示,两条指令的执行形式、适用软元件都一样,分别用于时钟数据的相加减。时钟的相加减,进制显然不是简单的十进制或二进制,小白都知道,“时”的进制为24,“分”和“秒”的进制为60。
图26-6
时间的相加如下图26-7所示,把6时10分30秒和2时30分30秒相加,秒钟相加满60,进一位到分钟,较终得到的结果为8时41分0秒;再如16时10分30秒和10时30分20秒相加,16时加10时等于26小时,此时小时数**过24,产生进位,进位标志位M8022将为ON。
图26-7
同理,时间的相减如下图26-8所示,把6时10分30秒和2时30分30秒相减,10分钟减30分钟不够减,向“时”借1(60分钟)变为70分钟,6时被借1后变为5时,较终得到的结果为3时40分0秒;再如10时30分30秒和16时20分10秒相减,10时减16时不够减,时间不能为负,所以10小时借1(24小时)变为34小时,再减去16小时,由于有借位,所以借位标志位M8021将为ON。
图26-7
另外,若时间相加或相减后的为0(包括产生进位或借位后的),零位标志位M8020也将置ON。
TADD指令和TSUB指令的梯形图形式如下图26-8所示,它们都有3个操作数S1、S2、D,共占用9个点。
图26-8
这些操作数的含义如下:
S1:被加数(被减数)时间数据中“时”的元件地址,占用3个点;
S2:加数(减数)时间数据中“时”的元件地址,占用3个点;
D :S1 S2的和(S1-S2的差)时间数据中“时”的元件地址,占用3个点;
在TADD指令中,当驱动条件成立时,将S1(时):S 1(分):S 2(秒)的时间数据加上S2(时):S2 1(分):S2 2(秒)的时间数据,然后将结果存放到D(时):D 1(分):D 2(秒)中。
在TSUB指令中,当驱动条件成立时,将S1(时):S 1(分):S 2(秒)的时间数据减去S2(时):S2 1(分):S2 2(秒)的时间数据,然后将结果存放到D(时):D 1(分):D 2(秒)中。
TADD指令和TSUB指令也比较简单,它们的形式和ADD指令、SUB指令非常相似,区别在于TADD指令、TSUB指令是时间的加减,ADD指令、SUB指令是普通数据的加减。
以上的4个指令,较为常用的是时间的比较指令TCMP和TZCP,例如控制指示灯的亮灭,要求指示灯在23:00到第二天的6:00之间关闭,其程序梯形图如下图26-9所示。
图26-9
西门子PLC一级代理商,西门子PLC授权代理商,西门子PLC代理商,西门子PLC分享,西门子CPU
代理商,西门子CPU一级代理商,西门子CPU总代理商,西门子CPU代理商,西门子CPU代理商,西门子电缆代理商,西门子电缆一级代理商,西门子电缆总代理商,西门子电缆授权代理商,西门子电缆分销商,西门子电缆代理商,西门子通讯电缆一级代理商,西门子通讯电缆分销商,西门子通讯电缆分销商,西门子电源代理商,西门子电源一级代理商,西门子电源总代理商,西门子电源授权代理商,西门子电源分销商,西门子电源分销商,西门子交换机分销商,西门子交换机分销商,西门子交换机一级代理商,西门子交换机代理商,西门子S7-1200系列代理商,西门子S7-1200CPU分销商,西门子S7-1200CPU分销商,西门子S7-1500CPU代理商,西门子S7-1500CPU代理商,西门子模块代理商,西门子模块一级代理商,西门子模块总代理商,西门子模块分销商,西门子模块代理商
福州西门子中国一级代理商|变频器更新2023 福州西门子中国一级代理商|变频器更新2023
浔之漫智控技术(上海)有限公司专注于西门子低压电器授权代理商,西门子PLC模块总代理商,西门子模块总代理商,西门子中国一级代理商,西门子PLC一级代理商,西门子DP电缆代理商等