西门子SIMATIC数字量输入模块
- 供应商
- 浔之漫智控技术(上海)有限公司总部
- 认证
- 报价
- ¥3400.00元每件
- 手机号
- 15021292620
- 销售
- 颜娟
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2023-11-16 15:06
西门子simatic数字量输入模块西门子simatic数字量输入模块
高速计数器指令(hs或dhs)有3个,以hs开头,分别为比较置位指令(hscs)、比较复位指令(hscr)和区间比较指令(hsz)。上篇文章中提到,高速计数器是32位软元件,所以,其相关指令显然也是32位的。即以上3个指令在应用时应该用dhscs、dhscr、dhsz。
1、比较置位指令hscs比较置位指令的编程手册截图如下图17-1所示,从截图可以看到,hscs指令不适用于16位,仅用于32位,且只有连续执行型。
图17-1
dhscs指令有3个操作数,即源址s1、s2和终址d,它们的适用软元件如截图所示,其中s2为高速计数器编号,终址d可以为高速计数器中断指针i010~i060。显然,高速计数器是一种中断源,可以用于中断服务。
图17-2
dhscs的梯形图形式如图17-2所示,s1为设置值或设定值的存储地址,用于与高速计数器的计数值进行比较,s2为对应高速计数器编号,d为被置位的位元件地址或高速计数器中断指针编号。当驱动条件成立时,将高速计数器的当前值与设定值进行比较,若计数器当前值等于设定值,立即以中断处理方式将d置为on或立即转移到指定的中断服务子程序执行中断服务。
这里就顺便再说一下高速计数器中断吧,正如图17-2所示,当高速计数器的当前值等于k100时,执行中断指针i10所指的中断服务程序。
显然,高速计数器中断必须与dhscs指令一起使用,且指针号不可重复。另外,正如我在中断服务文章中所言,不同指针都有对应禁止中断继电器,高速计数器中断指针i010~i060的禁止中断继电器为m8059,所以若m8059=on,计数器中断将全部被禁止。
上篇文章提及,高速计数器的计数与扫描周期无关,相应的,其3个指令(dhs)的执行方式亦为中断处理方式。为了便于理解,我们以之与内部计数器相比较,如图17-3所示的两段程序为例,它们的执行功能都是将y0输出on。
图17-3
于内部计数器c0而言,其计数值为x10的通断次数,且每通断1次就要历经1个程序扫描周期,当c0计数值达到设定值且其程序扫描一次结束后,y0才输出on。高速计数器c235所计数的是输入端口x0处的脉冲信号数,而不是x10的通断次数,所以,它的计数与扫描时间无关,一旦c235的计数值等于设定值,程序扫描中断,立即将y0输出on,不受扫描时间影响。
另外,若x0没有脉冲输入或高速计数器未被启动,即使用dmov指令等改变高速计数器的当前值,显然dhscs指令也不会执行。
2、比较复位指令hscr
比较复位指令的编程手册截图如下图17-4所示,从截图可以看到,hscs指令也是仅用于32位,且只有连续执行型。
图17-4
其梯形图形式与dhscs指令类似,s1为设置值或设定值的存储地址,用于与高速计数器的计数值进行比较,s2为对应高速计数器编号,d为被复位的位元件地址或与s2一样的高速计数器编号。当驱动条件成立时,将高速计数器的当前值与设定值进行比较,若计数器当前值等于设定值,立即以中断处理方式将d复位。
上文提及,高速计数器指令都是中断处理形式,毫无疑问,dhscr也是如此,不再赘述。dhscr有一个特点就是它可以对高速计数器自身复位,而编程手册中也是相关示例,其截图如下图17-5所示。
图17-5
当高速计数器c255当前值为k300时,其常开触点闭合并保持接通状态,当c255当前值为k400时,dhscr指令执行,将高速计数器c255自身复位,其相应触点也复位。
同一程序中,高速计数器指令dhs可以多次使用,但其数量是有限制的,在fx2n中,zui多只能用6个。在使用多个高速计数器指令时,终址为输出y时要注意其编号,因为编号对其驱动方式有很大影响。
如图17-6所示,例如使用2个dhscr指令,当所驱动的输出继电器y为同一组的y0、y1(y0~y7、y10~y17等)时,y0、y1均按中断处理方式立即复位,若y为不同组的y10、y20,此时y10以中断处理方式复位,而y20则在程序扫描结束后才被复位。
图17-6
另外,上文提到,若没有脉冲信号输入,即使用dmov指令等改变高速计数器当前值,高速计数器指令也不会执行。
但有一种特殊的情况,如下图17-7的梯形图所示,在特殊继电器m8025为on的状态下,若外部复位端子x1有信号,c241复位,当前值清零,此时即使没有脉冲信号输入,dhscs、dhscr指令也会执行,y0=on,y1=off。
图17-7
3、区间比较指令hsz
类似zcp指令,高速计数器区间比较指令dhsz就是将计数器当前值与两个数进行比较,其编程手册截图如图17-8所示。
其操作数有4个,s1、s2分别为设定值的下限值和上限值或其数据存储地址,(s1)≤(s2);s为对应高速计数器编号;d为驱动位元件首址,占3个点d、d1、d 2。
图17-8
当驱动条件成立时,将s的当前值与s1和s2进行比较,根据比较结果所属区间,驱动d、d 1、d2中的某一个为on。如图17-9所示,当高速计数器c的当前值小于s1,d=on;当高速计数器c的当前值大于s1且小于s2,d1=on;当高速计数器c的当前值大于s2,d 2=on。
图17-9
可以发现,dhsz指令和zcp指令很相似,但其实两者有很大的区别,dhsz指令是以中断处理方式执行的,而zcp指令是以扫描方式执行的,而且若高速计数器对应输入端口没有脉冲信号输入,即使用dmov指令给高速计数器赋值,dhsz指令也不会执行。
如下图17-10所示,为用zcp指令初始驱动的dhsz指令应用程序段,目的是y0可以动作初始化,即高速计数器当前值为0,y0也能有输出(y0=on)。
图17-10
若没有dzcpp指令,在触点x10接通时,若x0没有脉冲输入,即使此时c235当前值为0,dhsz指令也不会不执行,y0=off。加上dzcpp指令后,在x10接通的上升沿,dzcpp指令执行,即使当前x0没有脉冲输入,c235没有开始计数,但因为c235当前值为0,小于k100,y0=on。直到x0有脉冲信号输入,c235开始计数,dhsz指令开始执行区间比较功能。
其动作波形图如下图17-11所示。
图17-11
根据波形图17-11,x10接通,dzcpp指令执行,c235当前值为0,小于k100,y0=on,直到x0有脉冲信号输入,c235开始计数,dhsz指令执行,y0保持接通;当c235的当前值为k100时,y1接通,此时y0=off;当c235的当前值为k200时,y2接通,此时y0、y1均为off。高速计数器指令(hs或dhs)有3个,以hs开头,分别为比较置位指令(hscs)、比较复位指令(hscr)和区间比较指令(hsz)。上篇文章中提到,高速计数器是32位软元件,所以,其相关指令显然也是32位的。即以上3个指令在应用时应该用dhscs、dhscr、dhsz。
1、比较置位指令hscs
比较置位指令的编程手册截图如下图17-1所示,从截图可以看到,hscs指令不适用于16位,仅用于32位,且只有连续执行型。
图17-1
图17-2
图17-3
2、比较复位指令hscr
图17-4
图17-5
图17-6
图17-7
3、区间比较指令hsz
图17-8
当驱动条件成立时,将s的当前值与s1和s2进行比较,根据比较结果所属区间,驱动d、d 1、d2中的某一个为on。如图17-9所示,当高速计数器c的当前值小于s1,d=on;当高速计数器c的当前值大于s1且小于s2,d1=on;当高速计数器c的当前值大于s2,d 2=on。
图17-9
图17-10
其动作波形图如下图17-11所示。
图17-11
根据波形图17-11,x10接通,dzcpp指令执行,c235当前值为0,小于k100,y0=on,直到x0有脉冲信号输入,c235开始计数,dhsz指令执行,y0保持接通;当c235的当前值为k100时,y1接通,此时y0=off;当c235的当前值为k200时,y2接通,此时y0、y1均为off。
西门子simatic数字量输入模块西门子simatic数字量输入模块西门子simatic数字量输入模块西门子simatic数字量输入模块西门子simatic数字量输入模块西门子simatic数字量输入模块西门子代理商西门子触摸屏代理商西门子plc模块代理商西门子电机代理商
展开全文