Melsec 통신에서 공유 메모리에 데이터를 입력하기 위한 함수로
mdSend(); 함수가 있다.
이 함수는 타겟 스테이선의 특정한 체널에 데이터를 보내는 함수이다.
ret = mdSend(path,stno,devtyp,devno,size,data);
This function sends data to the specified channel number on the target station.
보통 mdSend()함수를 사요해서 보냈었다.
하지만 타켓 주소값이 8000번때가 넘어가니가 데이터가 Melsec에 쓰여지지 않는 것을 확인했다.
그 이유는 mdSend()라는 함수가 옛날 함수이고 주소의 범위가 넓지 않은 것으로 예상된다.
그래서
mdSendEx() 함수를 사용해서 그 범위를 확장시켰다.
ret = mdSendEx(path,netno,stno,devtyp,devno,size,data);
long ret; | //Return value OUT |
long path; | //Path of channel IN |
long netno; | //Network number IN |
long stno; | //Station number IN |
long devtyp; | //Device type IN |
long devno; | //Channel number IN |
long *size; | //Send byte size IN/OUT |
short data[ ]; | //Send data (single-precision integer array) IN |
기존에 멜섹에 데이터가 쓰이는데, 주소에 따라서 데이터가 안들어가는 경우 함수를 바꿔줄 필요가 있다.
'IT > FA' 카테고리의 다른 글
가상으로 RS232C 통신 테스트 (0) | 2018.02.20 |
---|---|
HSMS 메시지 통신 방법 (0) | 2016.07.12 |
MELSEC 설정 (0) | 2016.07.12 |