
在把FBD转SCL的过程中,拖放CTUD到代码段,选择多重背景数据块,我在用已经规划的计数背景数据块替换默认变量时,出错,发现默认生成的多重背景数据块格式是CTUD_INT,之前使用计数器手动输入 的格式是IEC-COUNTER,差别出来了,手输CTUD没有提示CTUD_INT,比如我们输b,提示bool,byte,帮助系统里CTUD_INT果然有线索
每次调用“加减计数”指令,都会为其分配一个 IEC 计数器用来存储指令数据。IEC 计数器是一种具有以下某种数据类型的结构:
系统数据类型 IEC_<Counter> 的数据块(共享 DB)
IEC_SCOUNTER/IEC_USCOUNTER
IEC_COUNTER/IEC_UCOUNTER
IEC_DCOUNTER/IEC_UDCOUNTER
IEC_LCOUNTER/IEC_ULCOUNTER
局部变量
CTUD_SINT/CTUD_USINT
CTUD_INT/CTUD_UINT
CTUD_DINT/CTUD_UDINT
CTUD_LINT/CTUD_ULINT
IEC_SCOUNTER/IEC_USCOUNTER
IEC_COUNTER/IEC_UCOUNTER
IEC_DCOUNTER/IEC_UDCOUNTER
IEC_LCOUNTER/IEC_ULCOUNTER
可以按如下方式声明 IEC 计数器:
系统数据类型 IEC_<Counter> 的数据块声明(例如,“MyIEC_COUNTER”)
声明为块中“Static”部分的 CTUD_<数据类型> 或 IEC_<计数器> 类型的局部变量(例如
#MyCTUD_COUNTER)
示例说明了该指令的工作原理:GRAPH
CALL CTUD INT, "IEC_CTUD_DB"
(CU := "Tag_StartCTU"
CD := "Tag_StartCTD"
R := "Tag_ResetCOUNTER"
LD := "Tag_LoadPV"
PV := "Tag_PresetValue"
QU => "Tag_CounterStatusUP"
QD => "Tag_CounterStatusDOWN"
CV => "Tag_CounterValue"
)
学习无止境,,,看来以前是草率了
题外,,,申请软件著作权要程序代码,各位是怎么操作的,难道也是慢慢转SCL吗