@ -1,6 +1,6 @@
String Prcss_ALL_Read ( ) {
String Prcss_ALL_Read ( ) {
String str = " " ;
String str = " " ;
str + = " AI?: " ;
str + = " AI?: " ;
for ( int i = 0 ; i < Size_AI ; i + + ) {
for ( int i = 0 ; i < Size_AI ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
@ -9,21 +9,20 @@ String Prcss_ALL_Read(){
str + = ' , ' ;
str + = ' , ' ;
}
}
str + = RcvOK ;
str + = RcvOK ;
str + = " DI?: " ;
str + = " DI?: " ;
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
char formattedNumber [ 5 ] ;
sprintf ( formattedNumber , " %04X " , Values_DI ) ; // 4자리로 고정된 형식의 문자열 생성
sprintf ( formattedNumber , " %04X " , Values_DI ) ;
str + = formattedNumber ; // 형식화된 문자열 추가
str + = formattedNumber ;
str + = ' , ' ;
str + = ' , ' ;
str + = RcvOK ;
str + = RcvOK ;
str + = " PV10?: " ;
str + = " PV10?: " ;
if ( rcv_10_PV ) {
if ( rcv_10_PV ) {
for ( int i = 0 ; i < RS485_1_Rcv_size * 2 ; i + + ) {
for ( int i = 0 ; i < RS485_1_Rcv_size * 2 ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
char formattedNumber [ 5 ] ;
sprintf ( formattedNumber , " %04X " , RS485_1_Values_PV [ i ] ) ; // 4자리로 고정된 형식의 문자열 생성
sprintf ( formattedNumber , " %04X " , RS485_1_Values_PV [ i ] ) ;
str + = formattedNumber ; // 형식화된 문자열 추가
str + = formattedNumber ;
str + = ' , ' ;
str + = ' , ' ;
}
}
str + = RcvOK ;
str + = RcvOK ;
@ -34,15 +33,16 @@ String Prcss_ALL_Read(){
str + = " SV10?: " ;
str + = " SV10?: " ;
if ( rcv_10_SV ) {
if ( rcv_10_SV ) {
for ( int i = 0 ; i < RS485_1_Rcv_size * 2 ; i + + ) {
for ( int i = 0 ; i < RS485_1_Rcv_size * 2 ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
char formattedNumber [ 5 ] ;
sprintf ( formattedNumber , " %04X " , RS485_1_Values_SV [ i ] ) ; // 4자리로 고정된 형식의 문자열 생성
sprintf ( formattedNumber , " %04X " , RS485_1_Values_SV [ i ] ) ;
str + = formattedNumber ; // 형식화된 문자열 추가
str + = formattedNumber ;
str + = ' , ' ;
str + = ' , ' ;
}
}
str + = RcvOK ;
str + = RcvOK ;
} else {
} else {
str + = RcvErr ;
str + = RcvErr ;
}
}
return str + FIN ;
return str + FIN ;
}
}
@ -62,73 +62,14 @@ String Prcss_DO_Write(unsigned int data[], int dataSize){
str + = RcvOK ;
str + = RcvOK ;
return str + FIN ;
return str + FIN ;
}
}
String Prcss_DI_Read ( ) {
String str = " DI?: " ;
//for (int i = 0; i < Size_DI; i++) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
sprintf ( formattedNumber , " %04X " , Values_DI ) ; // 4자리로 고정된 형식의 문자열 생성
str + = formattedNumber ; // 형식화된 문자열 추가
str + = ' , ' ;
//}
str + = RcvOK ;
return str + FIN ;
}
//
String Prcss_AI_Read ( ) {
String str = " AI?: " ;
for ( int i = 0 ; i < Size_AI ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
sprintf ( formattedNumber , " %04X " , Values_AI [ i ] ) ; // 4자리로 고정된 형식의 문자열 생성
str + = formattedNumber ; // 형식화된 문자열 추가
str + = ' , ' ;
}
str + = RcvOK ;
return str + FIN ;
}
String Prcss_AO_Write ( unsigned int data [ ] , int dataSize ) {
String Prcss_AO_Write ( unsigned int data [ ] , int dataSize ) {
String str = " AO!: " ;
String str = " AO!: " ;
//int t = millis();
int d = 2 ;
int d = 2 ;
for ( int i = 0 ; i < dataSize ; i + + ) {
for ( int i = 0 ; i < dataSize ; i + + ) {
AO_Write ( i , data [ i ] ) ;
AO_Write ( i , data [ i ] ) ;
}
}
//t = millis()-t;
//Serial.println(t);
str + = RcvOK ;
return str + FIN ;
}
String Prcss_PV_Read ( ) {
String str = " PV10?: " ;
for ( int i = 0 ; i < Size_PV ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
sprintf ( formattedNumber , " %04X " , Values_10_PV [ i ] ) ; // 4자리로 고정된 형식의 문자열 생성
str + = formattedNumber ; // 형식화된 문자열 추가
str + = ' , ' ;
}
str + = RcvOK ;
return str + FIN ;
}
String Prcss_SV_Read ( ) {
String str = " SV10?: " ;
for ( int i = 0 ; i < Size_SV ; i + + ) {
char formattedNumber [ 5 ] ; // 4자리 숫자 + 널 종료 문자
sprintf ( formattedNumber , " %04X " , Values_10_SV [ i ] ) ; // 4자리로 고정된 형식의 문자열 생성
str + = formattedNumber ; // 형식화된 문자열 추가
str + = ' , ' ;
}
str + = RcvOK ;
str + = RcvOK ;
return str + FIN ;
return str + FIN ;
@ -136,35 +77,8 @@ String Prcss_SV_Read(){
String Prcss_SV_Write ( unsigned int data [ ] , int dataSize ) {
String Prcss_SV_Write ( unsigned int data [ ] , int dataSize ) {
String str = " SV!: " ;
String str = " SV!: " ;
String message , cmd , cmdData ;
cmd = " 10DWR, " ;
msg_MC9_SV_set ( data , dataSize ) ;
if ( dataSize < 9 ) {
cmd = " 10DWR,0 " + String ( dataSize ) + " , " ;
} else {
str + = RcvErr ;
return str + FIN ;
}
cmdData = " " ;
for ( int i = 0 ; i < dataSize ; i + + ) {
char hexStr [ 5 ] ; // Buffer to hold the hexadecimal string (4 characters + null terminator)
sprintf ( hexStr , " %04X " , data [ i ] ) ; // Format as 4 digit uppercase hexadecimal
cmdData + = MC9_CH [ i ] + 1 ; // ZONE 1
cmdData + = " , " ;
cmdData + = String ( hexStr ) ;
if ( i ! = dataSize - 1 ) {
cmdData + = " , " ;
}
}
message = cmd + cmdData ;
message + = sumMC9 ( message ) ;
message = " " + message + CRLF ;
write_buff_first ( Buff_485_Wr , message ) ;
Serial . println ( message ) ;
str + = RcvOK ;
str + = RcvOK ;
return str + FIN ;
return str + FIN ;
@ -181,7 +95,6 @@ String Prcss_AT_Write(bool onOff){
cmd + = " 0000 " ;
cmd + = " 0000 " ;
}
}
message = cmd ;
message = cmd ;
message + = sumMC9 ( message ) ;
message + = sumMC9 ( message ) ;
message = " " + message + CRLF ;
message = " " + message + CRLF ;
@ -191,7 +104,6 @@ String Prcss_AT_Write(bool onOff){
return str + FIN ;
return str + FIN ;
}
}
String Prcss_RngAO ( unsigned int data [ ] , int dataSize ) {
String Prcss_RngAO ( unsigned int data [ ] , int dataSize ) {
String str = " RngAO!: " ;
String str = " RngAO!: " ;
int rng = 0 ;
int rng = 0 ;