No. 2940 | Re: Re: Re: Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 2023-11-17 | ||
---|---|---|---|---|
send[9] = 8, send[12] = 1인 경우에 제어되는 것은 펌웨어 문제로 보입니다. 차후 릴리즈시 검토 예정입니다. send[12] = 0xff or send[12] = 255 로 설정해야 ON 펄스 신호가 출력됩니다. 감사합니다. > 허주원 wrote: > ------------------------------------ > 아 이제 됩니다. 문서를 안 본 건 아니고 처음부터 참고하였고 제가 처음 다뤄보아서 서툴기도 합니다. 확인 감사합니다. send[12] =0xFF 를 넣으니까 된 것인데 그렇다면 의문점이 send[12] = 1; 일 때 send[9]에 8을 넣었을 땐 되고 9을 넣으면 안 된 건데 왜 그런가요? send[7] = 105; //WritePulse 이 값도 105 나 0x69를 넣어도 동작이 되었거든요.. > 솔내시스템(주) wrote: > ------------------------------------ > 참고로 출력 주소는 0x08, 0x09, 0x0a, 0x0b 중 하나로 설정하면 됩니다. > 솔내시스템(주) wrote: > ------------------------------------ > ezManager 통신 테스트로 접속 후 데이터 보내서 결과를 비교해보면 좋을 것 같습니다. 제가 테스트한 결과 정상 동작합니다. 첨부 파일 참고해서 해보시기 바랍니다. 통신테스트 결과 정상 동작이면 통신테스트 프로그램을 서버로 놓고 502 포트로 대기 후 만드신 프로그램에서 접속하여 실제 데이터를 어떻게 보내는지 확인하면 될 것 같습니다. 감사합니다. > 허주원 wrote: > ------------------------------------ > end[12]에 값은 1이나 0xFF나 같이 정상 동작 하구요. 아랫글에서도 언급했지만 Do0에는 정상적으로 출력하고 있습니다. Do1, Do2, Do3에 출력을 확인하려고 하는 것 입니다. 출력 위치를 변경하고 싶다는 말씀입니다. > 솔내시스템(주) wrote: > ------------------------------------ > 안녕하십니까 솔내시스템 기술지원팀입니다. 사용자 정의 함수로 펄스를 출력할 때 사용하는 값은 0xFF 또는 0x00으로 출력포트 ON은 0xFF, 출력포트 OFF는 0x00입니다. 문의한 코드상에 send[12]에 값 1을 사용해서 원하는 결과를 얻지 못 한 것 같습니다. 해당 값을 0xFF로 변경한 후 확인 바랍니다. 해당 내용은 Modbus/TCP 프로토콜 문서 50페이지에서 확인할 수 있습니다. [Modbus/TCP 프로토콜] 추가 문의는 언제라도 기술지원팀으로 하시기를 바랍니다. 감사합니다. > 허주원 wrote: > ------------------------------------ > 안녕하세요. 회사내에서 CIE-H14A 여러대를 이용하여 테스트 중 입니만 솔내시스템의 modbus/TCP 사용자 합수 FC105를 사용하면서 잘 안되서 문의 드립니다. using (NetworkStream stream = client.GetStream()) { byte[] send = new byte[13]; byte[] recv = new byte[13]; send[0] = (byte)(nTransction / 265); //TransctionID send[1] = (byte)(nTransction % 265); //TransctionID send[2] = 0; //porotocolID send[3] = 0; //porotocolID send[4] = 0; //length send[5] = 7; //length send[6] = 1; //SlaveId send[7] = 105; //WritePulse send[8] = 0; //OutputAddr send[9] = 8; //OutputAddr send[10] = 0x27; //Duration send[11] = 0x10; //Duration send[12] = 1; //OutputValue stream.Write(send, 0, send.Length); stream.Read(recv, 0, recv.Length); MessageBox.Show($@"출력 포트는 {recv[9]}입니다."); } 보내면 Do0에서 10초 동안 출력이 됩니다. 그런데 저는 Do1, Do2, Do3에서 출력을 확인해야하는데 send[8] = 0; //OutputAddr send[9] = 8; //OutputAddr 을 아무리 변환해도 안되고 registerValue를 사용하는 프로토콜도 없고.. 오전에 전화로 문의 햇을때는 send[8] = 0; //OutputAddr send[9] = 8; //OutputAddr 에서 9,10.. 순서대로 넣으면 될것이다 했지만 안되고 있어요... 어떻게 하나요?? |
글쓴이 | 솔내시스템(주) | 업체명 |
NO | Subject | Name | Date | Read |
---|---|---|---|---|
2934 | CIE-H14A modbus/ TCP 사용자 정의 함수 | 허주원 | 2023-11-16 | 343 |
2935 | Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 솔내시스템(주) | 2023-11-16 | 247 |
2936 | Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 허주원 | 2023-11-16 | 241 |
2937 | Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 솔내시스템(주) | 2023-11-16 | 251 |
2938 | Re: Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 솔내시스템(주) | 2023-11-16 | 245 |
2939 | Re: Re: Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 | 허주원 | 2023-11-16 | 252 |
2940 | Re: Re: Re: Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정... | 솔내시스템(주) | 2023-11-17 | 246 |
|
|||