实例:
STEP 1:打开STEP 7 程序,新建程序
STEP 2:在程序中添加DB块,在DB1建1 Word变量Plcvalue,建2 Word变量Freq1, Freq2
STEP 3:在程序中添加FC,命名为HighFrequency1,代码如下:
FC HighFrequency1
MOV PLCvalue,0
MOV Freq1,100
MOV Freq2,1
HIGH_FREQ1:
MOV Accu1,PLCvalue
SUB Accu1,Freq1
JMPC Accu1,END_FREQ1,HIGH_FREQ2
S AOUT0,1
SJMP HIGH_FREQ1
HIGH_FREQ2:
MOV Accu2,PLCvalue
SUB Accu2,Freq2
JMPC Accu2,END_FREQ1,HIGH_FREQ1
S AOUT0,0
SJMP HIGH_FREQ2
END_FREQ1: RET
STEP 4:在程序中添加FB,命名为Controllier,代码如下:
FB Controllier
MOV Plcvalue,0
CALL HighFrequency1
SJMP Controllier
STEP 5:完成程序编辑并编译,将程序上传到S7-1200控制器,测试程序。
S7-1200高速计数器编程实例如下:
1)写入初始值:将一个任意的数值写入高速计数器的初始值寄存器中。
2)设置累加值:将高速计数器累加值设置成任意的数值,它将以此为基础每次累加。
3)启动计数:将高速计数器启动计数的信号(的特定位)设置成低电平,从而启动高速计数器的计数。
4)检测溢出:检测高速计数器是否溢出。当计数器计数达到其上限值时,就会产生一个溢出标记(的特定位)。此时应处理溢出事件。
5)停止计数:将高速计数器停止计数的信号(的特定位)设置成高电平,从而暂停高速计数器的计数。