opto22的IO确实没有计数器模块,但是它的功能是通过控制策略编程软件的组态完成的,
具体组态步骤如下。
选择编程软件的专业版;
在IO模块中选择DIGITAL INPUT模块;
在DI模块下的接点的feature下设置为counter.
以上是硬件组态
以下为软件组态
//using optoscript to wirte flow totalization function.
//note:
t_period int32,
I_counter ,digital input
totalized_flow ,float
flow,float;
enable_t_period,int32
t_timer,up timer
//
if !(enable_t_period) then
set uptimer presetvalue(t_period,t_timer);
setvariabletrue(enable_t_period);
endif
if (has uptimer expired(t_timer)) then
setvariablefaulse(enable_t_period);
getcounter(flow,I-counter);
flow=flow*k/3600;
totalizedflow=flow+totalizedflow;
if (totalizedflow> 10000 0000) then
totalizedflow=0;
endif
endif