📄 forenet.cpp
字号:
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include <semaphore.h>#include<pthread.h>#include<signal.h>#include<sys/time.h>#include"Serial.h"#include"IEC61850.h"#include"ForeNet.h"#include"Net103.h"#include"Global.h"extern bool InitMysqlDB();extern void test();extern void SendSlaveCommand(UBYTE *buffer,int length);extern void CloseUdpSocket();short ycbuf[YCCHANNEL][YCID];UBYTE msg[6];short nsycbuf[YCCHANNEL][YCID];UBYTE nsyxbuf[YXCHANNEL][YXID];float activeyc[YCCHANNEL];float nsactiveyc[YCCHANNEL];pthread_mutex_t mutex ,nsmutex,acmutex,nsacmutex,pmutex ,pnsmutex,netmutex;sem_t sem;pthread_t gthreadid,gthreadid1,gthreadid2,gnetthreadid;void InitDB(){ int i; int n; if(!InitMysqlDB()) exit(1); for( i = 0;i<YCCHANNEL;i++) for(n=0;n<YCID;n++) { ycbuf[i][n] = 0; nsycbuf[i][n] = 0; } for( i = 0;i<YCCHANNEL;i++) for( n=0;n<YXID;n++) { nsyxbuf[i][n] = 0x00; } pthread_mutex_init(&mutex,NULL); pthread_mutex_init(&nsmutex,NULL); pthread_mutex_init(&acmutex,NULL); pthread_mutex_init(&nsacmutex,NULL); pthread_mutex_init(&pmutex,NULL); pthread_mutex_init(&pnsmutex,NULL); pthread_mutex_init(&netmutex,NULL); sem_init(&sem,0,0); return;}void LeaveApp(int sig){ printf("App is Exit!\n"); msg[4] = 0x06; SendSlaveCommand(msg,6); CloseUdpSocket(); exit(0) ;}int main(int argc,char *argv){ msg[0] = 0xeb; msg[1] = 0x90; msg[2] = 0xeb; msg[3] = 0x90; msg[4] = 0x00; msg[5] = 0x16; GB_CheckMySlef("forenet"); #ifdef _DEBUG signal(SIGINT, LeaveApp); signal(SIGTERM, LeaveApp); signal(SIGQUIT,LeaveApp);#endif if(!Net103Start()) { return -1; }#ifdef _DEBUG printf("103 Start Success!\n");#endif sleep(2); SendSlaveCommand(msg,6); msg[4] = 0x01; SendSlaveCommand(msg,6); InitDB();#ifdef _DEBUG printf("Init DataBase Success!\n");#endif msg[4] = 0x02; SendSlaveCommand(msg,6); if(!InitSerial(0)) { #ifdef _DEBUG printf("Serial Initial Failued!\n");#endif return -1; } msg[4] = 0x03; SendSlaveCommand(msg,6);#ifdef _DEBUG printf("Serial Initial Success!\n");#endif pthread_join(gthreadid,NULL); pthread_join(gthreadid1,NULL); pthread_join(gnetthreadid,NULL); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -