123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620 |
- #include "plt.h"
- int simatic_s7_nbr;
- struct simatic_s7_t simatic_s7[SIMATIC_S7_NBR_MAX + 1];
- static int simatic_s7_dbcb_0(void *para,int ncolumn,char ** columnvalue,char *columnname[])
- {
- int i;
- struct dbcbparam_t* pcbparam = (struct dbcbparam_t*)para;
- struct simatic_s7_t* dev = &simatic_s7[1];
- pcbparam->nrow++;
- log_dbg("%s, ++, row:%d, col:%d", __func__,pcbparam->nrow,ncolumn);
- for( i = 0; i < ncolumn; i++){
- if( strcmp("info",columnname[i]) == 0){
- strcpy(dev->szinfo,columnvalue[i]);
- }else if( strcmp("adr",columnname[i]) == 0){
- dev->comm.adr = atoi(columnvalue[i]);
- }else if( strcmp("chan_idx",columnname[i]) == 0){
- dev->comm.chanidx = atoi(columnvalue[i]);
- }
- }
- pcbparam->ret = 0;
- log_dbg("%s, --,ret:%d",__func__,pcbparam->ret);
- return 0;
- }
- int simatic_s7_get_dc_non_load_sw_stat( int idx )
- {
- return simatic_s7[idx].dc_non_load_sw_stat;
- }
- int simatic_s7_get_dc_main_fuse_stat( int idx )
- {
- return simatic_s7[idx].dc_main_fuse_stat;
- }
- int simatic_s7_get_dc_surge_arrester_stat( int idx )
- {
- return simatic_s7[idx].dc_surge_arrester_stat;
- }
- int simatic_s7_get_ac_main_sw_stat( int idx )
- {
- return simatic_s7[idx].ac_main_sw_stat;
- }
- int simatic_s7_get_power_supply_mcb_status( int idx )
- {
- return simatic_s7[idx].power_supply_mcb_status;
- }
- int simatic_s7_get_mcb_status( int idx )
- {
- return simatic_s7[idx].mcb_status;
- }
- int simatic_s7_get_power_supply_24v_stat( int idx )
- {
- return simatic_s7[idx].power_supply_24v_stat;
- }
- int simatic_s7_get_e_stop_btn_stat( int idx )
- {
- return simatic_s7[idx].e_stop_btn_stat;
- }
- int simatic_s7_get_reset_push_btn_stat( int idx )
- {
- return simatic_s7[idx].reset_push_btn_stat;
- }
- int simatic_s7_get_safety_relay_stat( int idx )
- {
- return simatic_s7[idx].safety_relay_stat;
- }
- int simatic_s7_get_ac_surge_arrester_stat( int idx )
- {
- return simatic_s7[idx].ac_surge_arrester_stat;
- }
- int simatic_s7_get_pcs_remote_trip_fb( int idx )
- {
- return simatic_s7[idx].pcs_remote_trip_fb;
- }
- int simatic_s7_get_bms_pwrspl_ctrl_rly( int idx )
- {
- return simatic_s7[idx].bms_pwrspl_ctrl_rly;
- }
- int simatic_s7_get_pcs_shutdown_ctrl_rly( int idx )
- {
- return simatic_s7[idx].pcs_shutdown_ctrl_rly;
- }
- int simatic_s7_get_safety_relay_shutdown_ctrl_rly( int idx )
- {
- return simatic_s7[idx].safety_relay_shutdown_ctrl_rly;
- }
- int simatic_s7_get_main_sw_trip_ctrl_rly( int idx )
- {
- return simatic_s7[idx].main_sw_trip_ctrl_rly;
- }
- int simatic_s7_get_safety_relay_reset_rly( int idx )
- {
- return simatic_s7[idx].safety_relay_reset_rly;
- }
- int simatic_s7_get_ems_pwrspl_reset_rly( int idx )
- {
- return simatic_s7[idx].ems_pwrspl_reset_rly;
- }
- int simatic_s7_get_fan_ctrl_rly1( int idx )
- {
- return simatic_s7[idx].fan_ctrl_rly1;
- }
- int simatic_s7_get_fan_ctrl_rly2( int idx )
- {
- return simatic_s7[idx].fan_ctrl_rly2;
- }
- int simatic_s7_get_door_stat( int idx, int door_idx )
- {
- return simatic_s7[idx].door_limit_sw_stat[door_idx];
- }
- int simatic_s7_get_fire_stat1_alarm( int idx )
- {
- return simatic_s7[idx].fire_stat1_alarm;
- }
- int simatic_s7_get_fire_stat2_alarm( int idx )
- {
- return simatic_s7[idx].fire_stat2_alarm;
- }
- int simatic_s7_get_fire_alarm( int idx )
- {
- return simatic_s7[idx].fire_alarm;
- }
- int simatic_s7_get_fire_fault( int idx )
- {
- return simatic_s7[idx].fire_fault;
- }
- int simatic_s7_get_gas_alarm1( int idx )
- {
- return simatic_s7[idx].gas_alarm1;
- }
- int simatic_s7_get_gas_alarm2( int idx )
- {
- return simatic_s7[idx].gas_alarm2;
- }
- int simatic_s7_get_transf_temp( int idx )
- {
- return simatic_s7[idx].transf_temp;
- }
- int simatic_s7_get_transf_temp_120_alarm( int idx )
- {
- return simatic_s7[idx].transf_temp_120_alarm;
- }
- int simatic_s7_get_transf_temp_130_alarm( int idx )
- {
- return simatic_s7[idx].transf_temp_130_alarm;
- }
- int simatic_s7_get_state( int idx )
- {
- return simatic_s7[idx].sm.state;
- }
- char* simatic_s7_get_state_str( int idx )
- {
- return simatic_s7[idx].sm.szState;
- }
- int simatic_s7_chk_state( int idx, int stat )
- {
- return simatic_s7_get_state(idx) == stat ? 0 : -1;
- }
- int simatic_s7_get_hb_from_dev(int idx)
- {
- return simatic_s7[idx].hb_from_dev;
- }
- char* simatic_s7_get_info_str(int idx)
- {
- return simatic_s7[idx].szinfo;
- }
- char* simatic_s7_get_model_str(int idx)
- {
- return simatic_s7[idx].szmodel;
- }
- int simatic_s7_get_chan_idx(int idx)
- {
- return simatic_s7[idx].comm.chanidx;
- }
- int simatic_s7_get_step(int idx)
- {
- struct statemachine_t* sm = &simatic_s7[idx].sm;
- return sm_get_step(sm);
- }
- int simatic_s7_get_tick(int idx)
- {
- return simatic_s7[idx].sm.tick;
- }
- int simatic_s7_get_comm_adr(int idx)
- {
- return simatic_s7[idx].comm.adr;
- }
- int simatic_s7_get_ems_reset_sig(int idx)
- {
- return simatic_s7[idx].ems_reset_sig;
- }
- int simatic_s7_get_ems_safety_relay_reset_sig(int idx)
- {
- return simatic_s7[idx].ems_safety_relay_reset_sig;
- }
- int simatic_s7_get_ems_pwrspl_reset_sig(int idx)
- {
- return simatic_s7[idx].ems_pwrspl_reset_sig;
- }
- int simatic_s7_get_ems_safety_relay_off_sig(int idx)
- {
- return simatic_s7[idx].ems_safety_relay_off_sig;
- }
- char* simatic_s7_get_comm_state_str(int idx)
- {
- struct statemachine_t* sm = &simatic_s7[idx].sm;
- return sm_get_szstate(sm);
- }
- static void* simatic_s7_thrd_main(void* param)
- {
- log_dbg("%s, ++",__func__);
- simatic_s7_sm_init(1);
- simatic_s7_comm_init(1);
- while( 1 ){
- simatic_s7_comm_dac(1);
- simatic_s7_sm( 1 );
- usleep(100000); // 100ms
- }
- log_dbg("%s, --",__func__);
- }
- static void* simatic_s7_thrd_aux(void* param)
- {
- struct simatic_s7_t* dev = &simatic_s7[1];
- struct comm_t* comm = &dev->comm;
- int emshb_timer = 0;
- log_dbg("%s, ++",__func__);
-
- while(1){
- usleep(100000); // 100ms
- if(emshb_timer++ >= 10){ // 1s
- emshb_timer = 0;
- dev->hb_to_dev++;
- if( comm_get_state(comm) == COMMST_NORMAL){
- simatic_s7_set_dev_emshb(1, dev->hb_to_dev);
- }else{
- usleep(100000); // 100ms
- }
- }
- }
- log_dbg("%s, --",__func__);
- }
- int simatic_s7_init()
- {
- pthread_t thrd;
- int ret = 0;
- int result;
- char *errmsg = NULL;
- char sql[1024];
- struct dbcbparam_t cbparam;
- sqlite3* db = NULL;
- struct simatic_s7_t* dev = &simatic_s7[1];
- log_dbg( "%s, ++",__func__);
- plt_lock_ctndb();
- db = plt_get_ctndb();
- sprintf(sql,"select * from simatic_s7");
- cbparam.nrow = 0;
- result = sqlite3_exec(db,sql, simatic_s7_dbcb_0,(void*)&cbparam,&errmsg);
- plt_unlock_ctndb();
- if( result != SQLITE_OK ){
- log_dbg("%s, result != SQLITE_OK, result:%d", __func__, result);
- ret = -1;
- }else if( cbparam.ret != 0){
- log_dbg("%s, cbparam.ret != 0, %d", __func__, cbparam.ret);
- ret = -2;
- }else if( cbparam.nrow != 1 ){
- log_dbg("%s, cbparam.nrow != 1, %d", __func__, cbparam.nrow);
- ret = -3;
- }else{
- simatic_s7_nbr = 1;
- if(pthread_create(&thrd, NULL, simatic_s7_thrd_main, NULL) != 0){
- log_dbg( "%s, create simatic_s7 thrd main fail", __func__);
- ret = -1;
- }else if(pthread_create(&thrd, NULL, simatic_s7_thrd_aux, NULL) != 0){
- log_dbg( "%s, create simatic_s7 thrd aux fail", __func__);
- ret = -2;
- }
- }
- log_dbg( "%s, --, ret:%d", __func__, ret);
- return ret;
- }
- int simatic_s7_send_sm_cmd( int idx, int val )
- {
- int ret = 0;
- struct simatic_s7_t* dev = &simatic_s7[idx];
- dev->cmd = val;
- leave:
- log_dbg("%s, idx:%d, cmd:%d, ret:%d",__func__, idx, val, ret);
- return ret;
- }
- int simatic_s7_get_cmd( int idx)
- {
- return simatic_s7[idx].cmd;
- }
- void simatic_s7_reset_cmd( int idx)
- {
- simatic_s7[idx].cmd = CMD_SM_DONE;
- }
- int simatic_s7_get_comm_st(int idx)
- {
- struct simatic_s7_t* dev = &simatic_s7[idx];
- struct comm_t* comm = &dev->comm;
- return comm_get_state(comm);
- }
- int simatic_s7_bms_ctrl_pwrup(int idx)
- {
- int ret = -1;
- log_dbg("%s, ++", __func__);
- if( 0 == simatic_s7_set_dev_40099(idx, 1)){
- if( 0 == simatic_s7_set_dev_ems_reset_signal(idx, 1)){
- sleep(2);
- if( 0 == simatic_s7_set_dev_ems_safety_relay_reset_signal(idx, 1)){
- ret = 0;
- }
- }
- }
- log_dbg("%s, --, ret:%d", __func__, ret);
- }
- int simatic_s7_bms_ctrl_pwrup_without_shielding_signal(int idx)
- {
- int ret = -1;
- log_dbg("%s, ++", __func__);
- if( 0 == simatic_s7_set_dev_ems_reset_signal(idx, 1)){
- sleep(2);
- if( 0 == simatic_s7_set_dev_ems_safety_relay_reset_signal(idx, 1)){
- ret = 0;
- }
- }
- log_dbg("%s, --, ret:%d", __func__, ret);
- }
- int simatic_s7_get_tool_data(int idx,char* buf)
- {
- struct simatic_s7_t* dev = &simatic_s7[idx];
- struct statemachine_t* sm = &dev->sm;
- struct comm_t* comm = &dev->comm;
- char temp_buf[1024];
- if(idx < 1 || idx > simatic_s7_nbr || buf == NULL){
- return -1;
- }
- sm_get_summary(sm, temp_buf, sizeof(temp_buf));
- sprintf(buf, " %s ", temp_buf);
- comm_get_summary(comm, temp_buf, sizeof(temp_buf));
- strcat(buf,temp_buf);
- strcat(buf,"\n");
- sprintf(temp_buf,"hb_from_dev:%05d hb_to_dev:%05d dc non-load sw:%d dc main fuse:%d dc surge arrester:%d ac main sw:%d pwrspl mcb:%d mcb:%d pwrspl 24v:%d e-stop btn:%d reset push btn:%d ",
- dev->hb_from_dev, dev->hb_to_dev,
- dev->dc_non_load_sw_stat, dev->dc_main_fuse_stat, dev->dc_surge_arrester_stat,
- dev->ac_main_sw_stat, dev->power_supply_mcb_status, dev->mcb_status, dev->power_supply_24v_stat,
- dev->e_stop_btn_stat, dev->reset_push_btn_stat);
- strcat(buf,temp_buf);
- sprintf(temp_buf,"safety relay:%d ac surge arrester:%d pcs remote trip fb:%d bms_pwrspl_rly:%d pcs_shutdown_rly:%d safety_relay_shutdown_rly:%d\n",
- dev->safety_relay_stat, dev->ac_surge_arrester_stat, dev->pcs_remote_trip_fb,
- dev->bms_pwrspl_ctrl_rly, dev->pcs_shutdown_ctrl_rly, dev->safety_relay_shutdown_ctrl_rly);
- strcat(buf,temp_buf);
- sprintf(temp_buf,"main_sw_trip_rly:%d safety_relay_reset_rly:%d ems_pwrspl_reset_rly:%d fan_ctrl_rly1|2:%d|%d ",
- dev->main_sw_trip_ctrl_rly, dev->safety_relay_reset_rly, dev->ems_pwrspl_reset_rly, dev->fan_ctrl_rly1, dev->fan_ctrl_rly2);
- strcat(buf,temp_buf);
-
- sprintf(temp_buf,"door1:%d door2:%d door3:%d door4:%d door5:%d door6:%d door7:%d door8:%d door9:%d ",
- dev->door_limit_sw_stat[1],dev->door_limit_sw_stat[2],dev->door_limit_sw_stat[3],dev->door_limit_sw_stat[4],dev->door_limit_sw_stat[5],
- dev->door_limit_sw_stat[6],dev->door_limit_sw_stat[7],dev->door_limit_sw_stat[8],dev->door_limit_sw_stat[9]);
- strcat(buf,temp_buf);
- sprintf(temp_buf,"fire stat1 alarm:%d fire stat2 alarm:%d fire alarm:%d fire fault:%d gas alarm1:%d gas alarm2:%d\n",
- dev->fire_stat1_alarm, dev->fire_stat2_alarm, dev->fire_alarm, dev->fire_fault, dev->gas_alarm1, dev->gas_alarm2);
- strcat(buf,temp_buf);
-
- sprintf(temp_buf,"transf_alarm_temp:%d,transf_err_temp:%d,transf_temp:%d 120_alarm:%d 130_alarm:%d ",
- dev->transf_alarm_temp,dev->transf_err_temp,dev->transf_temp, dev->transf_temp_120_alarm, dev->transf_temp_130_alarm);
- strcat(buf,temp_buf);
- sprintf(temp_buf,"ems reset sig:%d safety relay reset sig:%d power reset sig:%d safety relay off sig:%d\n",
- dev->ems_reset_sig, dev->ems_safety_relay_reset_sig, dev->ems_pwrspl_reset_sig, dev->ems_safety_relay_off_sig);
- strcat(buf,temp_buf);
- return 0;
- }
- int simatic_s7_get_tbmqtt_data(int idx,char* buf)
- {
- sprintf(buf, "'plc_dc_sw':%d,\
- 'plc_dc_main_fu':%d,\
- 'plc_dc_sa':%d,\
- 'plc_ac_sw':%d,\
- 'plc_pwrspl_mcb_stat':%d,\
- 'plc_mcb_stat':%d,\
- 'plc_pwrspl_24v_stat':%d,\
- 'plc_estop_btn':%d,\
- 'plc_rstpush_btn':%d,\
- 'plc_safety_rly_stat':%d,\
- 'plc_ac_sa_stat':%d,\
- 'plc_pcs_rmt_trip_fb':%d,\
- 'plc_bms_pwrspl_ctrl_rly':%d,\
- 'plc_pcs_shutdown_ctrl_rly':%d,\
- 'plc_safety_rly_shutdown_ctrl_rly':%d,\
- 'plc_main_sw_trip_ctrl_rly':%d,\
- 'plc_safety_rly_reset_rly':%d,\
- 'plc_ems_pwrspl_reset_rly':%d,\
- 'plc_fan_ctrl_rly1':%d,\
- 'plc_fan_ctrl_rly2':%d,\
- 'plc_door1':%d,\
- 'plc_door2':%d,\
- 'plc_door3':%d,\
- 'plc_door4':%d,\
- 'plc_door5':%d,\
- 'plc_door6':%d,\
- 'plc_door7':%d,\
- 'plc_door8':%d,\
- 'plc_door9':%d,\
- 'plc_fire_stat1_alarm':%d,\
- 'plc_fire_stat2_alarm':%d,\
- 'plc_fire_alarm':%d,\
- 'plc_fire_fault':%d,\
- 'plc_gas_alarm1':%d,\
- 'plc_gas_alarm2':%d,\
- 'plc_tf_temp':%d,\
- 'plc_tf_120_alarm':%d,\
- 'plc_tf_130_alarm':%d,\
- 'plc_state':'%s'",
- simatic_s7_get_dc_non_load_sw_stat( idx ),
- simatic_s7_get_dc_main_fuse_stat( idx ),
- simatic_s7_get_dc_surge_arrester_stat( idx ),
- simatic_s7_get_ac_main_sw_stat( idx ),
- simatic_s7_get_power_supply_mcb_status( idx ),
- simatic_s7_get_mcb_status( idx ),
- simatic_s7_get_power_supply_24v_stat( idx ),
- simatic_s7_get_e_stop_btn_stat( idx ),
- simatic_s7_get_reset_push_btn_stat( idx ),
- simatic_s7_get_safety_relay_stat( idx ),
- simatic_s7_get_ac_surge_arrester_stat( idx ),
- simatic_s7_get_pcs_remote_trip_fb( idx ),
- simatic_s7_get_bms_pwrspl_ctrl_rly( idx ),
- simatic_s7_get_pcs_shutdown_ctrl_rly( idx ),
- simatic_s7_get_safety_relay_shutdown_ctrl_rly( idx ),
- simatic_s7_get_main_sw_trip_ctrl_rly( idx ),
- simatic_s7_get_safety_relay_reset_rly( idx ),
- simatic_s7_get_ems_pwrspl_reset_rly( idx ),
- simatic_s7_get_fan_ctrl_rly1( idx ),
- simatic_s7_get_fan_ctrl_rly2( idx ),
- simatic_s7_get_door_stat( idx, 1),
- simatic_s7_get_door_stat( idx, 2),
- simatic_s7_get_door_stat( idx, 3),
- simatic_s7_get_door_stat( idx, 4),
- simatic_s7_get_door_stat( idx, 5),
- simatic_s7_get_door_stat( idx, 6),
- simatic_s7_get_door_stat( idx, 7),
- simatic_s7_get_door_stat( idx, 8),
- simatic_s7_get_door_stat( idx, 9),
- simatic_s7_get_fire_stat1_alarm( idx ),
- simatic_s7_get_fire_stat2_alarm( idx ),
- simatic_s7_get_fire_alarm( idx ),
- simatic_s7_get_fire_fault( idx ),
- simatic_s7_get_gas_alarm1( idx ),
- simatic_s7_get_gas_alarm2( idx ),
- simatic_s7_get_transf_temp( idx ),
- simatic_s7_get_transf_temp_120_alarm( idx ),
- simatic_s7_get_transf_temp_130_alarm( idx ),
- simatic_s7_get_state_str( idx ));
- }
- int simatic_s7_get_cloud_data(int ctn_idx,int idx,char* buf)
- {
- sprintf(buf, "'id':'plc_%d', 'plc_dc_sw':%d,\
- 'plc_dc_main_fu':%d,\
- 'plc_dc_sa':%d,\
- 'plc_ac_sw':%d,\
- 'plc_pwrspl_mcb_stat':%d,\
- 'plc_mcb_stat':%d,\
- 'plc_pwrspl_24v_stat':%d,\
- 'plc_estop_btn':%d,\
- 'plc_rstpush_btn':%d,\
- 'plc_safety_rly_stat':%d,\
- 'plc_ac_sa_stat':%d,\
- 'plc_pcs_rmt_trip_fb':%d,\
- 'plc_bms_pwrspl_ctrl_rly':%d,\
- 'plc_pcs_shutdown_ctrl_rly':%d,\
- 'plc_safety_rly_shutdown_ctrl_rly':%d,\
- 'plc_main_sw_trip_ctrl_rly':%d,\
- 'plc_safety_rly_reset_rly':%d,\
- 'plc_ems_pwrspl_reset_rly':%d,\
- 'plc_fan_ctrl_rly1':%d,\
- 'plc_fan_ctrl_rly2':%d,\
- 'plc_door1':%d,\
- 'plc_door2':%d,\
- 'plc_door3':%d,\
- 'plc_door4':%d,\
- 'plc_door5':%d,\
- 'plc_door6':%d,\
- 'plc_door7':%d,\
- 'plc_door8':%d,\
- 'plc_door9':%d,\
- 'plc_fire_stat1_alarm':%d,\
- 'plc_fire_stat2_alarm':%d,\
- 'plc_fire_alarm':%d,\
- 'plc_fire_fault':%d,\
- 'plc_gas_alarm1':%d,\
- 'plc_gas_alarm2':%d,\
- 'plc_tf_temp':%d,\
- 'plc_tf_120_alarm':%d,\
- 'plc_tf_130_alarm':%d,\
- 'plc_state':%d",
- idx, simatic_s7_get_dc_non_load_sw_stat( idx ),
- simatic_s7_get_dc_main_fuse_stat( idx ),
- simatic_s7_get_dc_surge_arrester_stat( idx ),
- simatic_s7_get_ac_main_sw_stat( idx ),
- simatic_s7_get_power_supply_mcb_status( idx ),
- simatic_s7_get_mcb_status( idx ),
- simatic_s7_get_power_supply_24v_stat( idx ),
- simatic_s7_get_e_stop_btn_stat( idx ),
- simatic_s7_get_reset_push_btn_stat( idx ),
- simatic_s7_get_safety_relay_stat( idx ),
- simatic_s7_get_ac_surge_arrester_stat( idx ),
- simatic_s7_get_pcs_remote_trip_fb( idx ),
- simatic_s7_get_bms_pwrspl_ctrl_rly( idx ),
- simatic_s7_get_pcs_shutdown_ctrl_rly( idx ),
- simatic_s7_get_safety_relay_shutdown_ctrl_rly( idx ),
- simatic_s7_get_main_sw_trip_ctrl_rly( idx ),
- simatic_s7_get_safety_relay_reset_rly( idx ),
- simatic_s7_get_ems_pwrspl_reset_rly( idx ),
- simatic_s7_get_fan_ctrl_rly1( idx ),
- simatic_s7_get_fan_ctrl_rly2( idx ),
- simatic_s7_get_door_stat( idx, 1),
- simatic_s7_get_door_stat( idx, 2),
- simatic_s7_get_door_stat( idx, 3),
- simatic_s7_get_door_stat( idx, 4),
- simatic_s7_get_door_stat( idx, 5),
- simatic_s7_get_door_stat( idx, 6),
- simatic_s7_get_door_stat( idx, 7),
- simatic_s7_get_door_stat( idx, 8),
- simatic_s7_get_door_stat( idx, 9),
- simatic_s7_get_fire_stat1_alarm( idx ),
- simatic_s7_get_fire_stat2_alarm( idx ),
- simatic_s7_get_fire_alarm( idx ),
- simatic_s7_get_fire_fault( idx ),
- simatic_s7_get_gas_alarm1( idx ),
- simatic_s7_get_gas_alarm2( idx ),
- simatic_s7_get_transf_temp( idx ),
- simatic_s7_get_transf_temp_120_alarm( idx ),
- simatic_s7_get_transf_temp_130_alarm( idx ),
- simatic_s7_get_state( idx ));
- }
- int simatic_s7_get_bkds_data(int idx,char* buf)
- {
- sprintf(buf,"\
- \"info\":\"%s\",\"model\":\"%s\",\"chan_idx\":%d,\"adr\":%d,\"state\":\"%s\",\
- \"tick\":%d,\"comm_state\":\"%s\",\"hb_from_dev\":%d,\"dc_non_load_sw\":%d,\"dc_main_fuse\":%d,\
- \"dc_surge_arrester\":%d,\"ac_main_sw\":%d,\"power_supply_mcb\":%d,\"mcb\":%d,\"power_supply_24v\":%d,\
- \"e_stop_btn\":%d,\"reset_push_btn\":%d,\"safety_relay\":%d,\"ac_surge_arrester\":%d,\"pcs_remote_trip_fb\":%d,\
- \"door1\":%d,\"door2\":%d,\"door3\":%d,\"door4\":%d,\"door5\":%d,\
- \"door6\":%d,\"door7\":%d,\"door8\":%d,\"door9\":%d,\"fire_alarm1\":%d,\
- \"fire_alarm2\":%d,\"fire_fault\":%d,\"gas_spray\":%d,\"bms_pwrspl_ctrl_rly\":%d,\"pcs_shutdown_ctrl_rly\":%d,\
- \"safety_relay_shutdown_ctrl_rly\":%d,\"main_sw_trip_ctrl_rly\":%d,\"safety_relay_reset_rly\":%d,\"ems_pwrspl_reset_rly\":%d,\"fan_ctrl_rly1\":%d,\
- \"fan_ctrl_rly2\":%d,\"transf_temp\":%d,\"transf_temp_120_alarm\":%d,\"transf_temp_130_alarm\":%d,\"ems_reset_sig\":%d,\
- \"ems_safety_relay_reset_sig\":%d,\"ems_pwrspl_reset_sig\":%d,\"ems_safety_relay_off_sig\":%d\
- ",
- simatic_s7_get_info_str( idx ),"simatic_s7",simatic_s7_get_chan_idx( idx ),simatic_s7_get_comm_adr( idx ),simatic_s7_get_state_str( idx ),
- simatic_s7_get_tick( idx ),simatic_s7_get_comm_state_str( idx ),simatic_s7_get_hb_from_dev( idx ),simatic_s7_get_dc_non_load_sw_stat( idx ),simatic_s7_get_dc_main_fuse_stat( idx ),
- simatic_s7_get_dc_surge_arrester_stat( idx ),simatic_s7_get_ac_main_sw_stat( idx ),simatic_s7_get_power_supply_mcb_status( idx ),simatic_s7_get_mcb_status( idx ),simatic_s7_get_power_supply_24v_stat( idx ),
- simatic_s7_get_e_stop_btn_stat( idx ),simatic_s7_get_reset_push_btn_stat( idx ),simatic_s7_get_safety_relay_reset_rly( idx ),simatic_s7_get_ac_surge_arrester_stat( idx ),simatic_s7_get_pcs_remote_trip_fb( idx ),
- simatic_s7_get_door_stat( idx , 1 ),simatic_s7_get_door_stat( idx , 2 ),simatic_s7_get_door_stat( idx , 3 ),simatic_s7_get_door_stat( idx , 4 ),simatic_s7_get_door_stat( idx , 5 ),
- simatic_s7_get_door_stat( idx , 6 ),simatic_s7_get_door_stat( idx , 7 ),simatic_s7_get_door_stat( idx , 8 ),simatic_s7_get_door_stat( idx , 9 ),simatic_s7_get_fire_stat1_alarm( idx ),
- simatic_s7_get_fire_stat2_alarm( idx ),simatic_s7_get_fire_fault( idx ),simatic_s7_get_gas_alarm1( idx ),simatic_s7_get_bms_pwrspl_ctrl_rly( idx ),simatic_s7_get_pcs_shutdown_ctrl_rly( idx ),
- simatic_s7_get_safety_relay_reset_rly( idx ),simatic_s7_get_main_sw_trip_ctrl_rly( idx ),simatic_s7_get_safety_relay_reset_rly( idx ),simatic_s7_get_ems_pwrspl_reset_rly( idx ),simatic_s7_get_fan_ctrl_rly1( idx ),
- simatic_s7_get_fan_ctrl_rly2( idx ),simatic_s7_get_transf_temp( idx ),simatic_s7_get_transf_temp_120_alarm( idx ),simatic_s7_get_transf_temp_130_alarm( idx ),simatic_s7_get_ems_reset_sig( idx ),
- simatic_s7_get_ems_safety_relay_reset_sig( idx ),simatic_s7_get_ems_pwrspl_reset_sig( idx ),simatic_s7_get_ems_safety_relay_off_sig( idx )
- );
- }
|