📄 sample_2.cpp
字号:
/*****************************************************************************/
/* Subroutine: Demo8000 for ICPDAS WinCON 8000 */
/* special control sample-2 program */
/* */
/* COPYRIGHT 2003 BY HUNG-TSAIR YEH */
/* Date : 2003 -10 - 01 designed V1.0 */
/* */
/* Desgined by Yeh Hung-Tsair */
/*****************************************************************************/
#include "com_sub.h"
/*...........................................................................*/
/* sample-2 special control */
/*...........................................................................*/
void special_control()
{
// float fl;
// CString s;
// int i;
// demo timer and counter
if( (check_counter_up(0)==0) && get_Register(CN_PSET_TYPE, 0)==0)
{
set_counter_start(0, 5); // initial counter preset value
}
if(get_Coil(DO_SOFT_TYPE, 20)==1 && get_Coil(DI_SOFT_TYPE, 0)==0 )
{
timer_reset(0);
set_timer_start(0, 300); // set timer-0 300*0.1 sec
set_Coil(DO_BARE_TYPE, 16, 1); // set DO-16 On
set_Coil(DI_SOFT_TYPE, 0, 1); // holding status, statrt only once during timer counting
}
if(get_Plus_on(TM_BIT_TYPE, 0)==1) // timer up plus on
{
set_Coil(DO_BARE_TYPE, 16, 0); // timer up reset DO
calc_counter(0); // counter plus one
set_Coil(DI_SOFT_TYPE, 0, 0); // reset hodling DI status
set_Coil(DO_SOFT_TYPE, 20, 0);
}
if(get_Plus_on(CN_BIT_TYPE, 0)==1) // counter up plus on
{
set_Coil(DO_BARE_TYPE, 17, 1);
set_Coil(DI_SOFT_TYPE, 0, 1);
}
if(get_Plus_off(DO_BARE_TYPE, 17)==1) // manual reset DO-17, then restart cycle again
{
set_Coil(DI_SOFT_TYPE, 0, 0);
set_Coil(DO_SOFT_TYPE, 20, 0);
counter_reset(0);
}
// demo many timer to set many DO sequence ON
if(get_Plus_on(DO_SOFT_TYPE, 10)==1)
{
timer_reset(5);
set_timer_start(5, 100); // set timer-0 300*0.1 sec
set_Coil(DO_BARE_TYPE, 24, 1); // set DO-24 On
}
if(get_Plus_on(TM_BIT_TYPE, 5)==1)
{
timer_reset(6);
set_timer_start(6, 100); // set timer-0 300*0.1 sec
set_Coil(DO_BARE_TYPE, 25, 1); // set DO-24 On
set_Coil(DO_BARE_TYPE, 24, 0);
}
if(get_Plus_on(TM_BIT_TYPE, 6)==1)
{
timer_reset(7);
set_timer_start(7, 100); // set timer-0 300*0.1 sec
set_Coil(DO_BARE_TYPE, 26, 1); // set DO-24 On
set_Coil(DO_BARE_TYPE, 25, 0);
}
if(get_Plus_on(TM_BIT_TYPE, 7)==1)
{
set_Coil(DO_BARE_TYPE, 26, 0);
set_Coil(DO_SOFT_TYPE, 10, 0);
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -