한국어 English Chinese Russian

질문&답변 게시판 / 기술지원



SSL 암호화로 사용자의 입력정보가 보호되고 있습니다.
No. 2939 Re: Re: Re: Re: Re: CIE-H14A modbus/ TCP 사용자 정의 함수 2023-11-16

아 이제 됩니다.
문서를 안 본 건 아니고 처음부터 참고하였고 제가 처음 다뤄보아서 서툴기도 합니다.
확인 감사합니다.

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 246
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 245