此项根据字符常量指定的内容更改高速计数器的操作模式。
HSCn,UP
HSCn |
高速计数器设置 n: 0~9, A, B (FP-X C14R, C30/60R) n: 0~7 (FP-X C14T, C30/60T) n: 0~3 (FPS) |
UP |
UP:加法输入设置 DOWN:减法输入设置 |
例如: HSC1,UP
如果对应的HSC系统寄存器设置为未使用,将出现运算错误。预先将系统寄存器设置为递增输入或递减输入。
执行此指令不会将系统ROM的内容重写到控制单元中。因此,关闭电源然后再次打开会重写软件工具指定的系统寄存器的内容。
建议仅执行一次此指令,例如根据执行条件的上升沿或下降沿。
当已指定UP或DOWN时,系统寄存器的内容根据规格而变化,因此当检查或编译程序时,在某些情况下可能会出现验证错误。当已指定BOTH时,系统寄存器的内容不变。使用逗号","分隔第一个和第二个关键字,例如HSCB,UP;不要使用空格。否则将出现运算错误。
如果指定了与关键字不同的内容
如果第一个和第二个关键字之间没有逗号
如果用于指定关键字的字母未大写
如果HSC系统寄存器设置为加法输入或减法输入以外的项目
如果指定关键字之外的任意字符
如果第一个和第二个关键字之间没有逗号
如果用于指定关键字的字母未大写
如果HSC系统寄存器设置为加法输入或减法输入以外的项目
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
bCountUp: BOOL:=FALSE;
bCountDown: BOOL:=FALSE;
END_VAR
当bCountUp设置为TRUE时,执行此函数。指定通道的系统寄存器设置为正计数。当bCountDown设置为TRUE时,指定通道设置为倒计数。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,E_SET_RTC_DT!,Instance,20,1,28,5,,?DEN?DIN?AENO);
B(B_VARIN,,DT_value,18,3,20,5,);
B(B_CONTACT,,bSetEdge,7,2,9,4,R);
B(B_COIL,,bEno,37,2,39,4,);
L(1,3,7,3);
L(9,3,20,3);
L(28,3,37,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if DF(bCountUp) then
SYS1('HSC0,UP');
SYS1('HSCB,UP');
End_If;
IF DF(bCountDown) Then
SYS1('HSC0,DOWN');
SYS1('HSC7,DOWN');
End_If;