한국어
|
English
제품소개
솔 루 션
응용분야
고객센터
다운로드
제품구매
회사소개
고객센터
>
기술지원
질문&답변 게시판
/ 기술지원
이름
이메일
업체명
연락처
제목
내용
> 허주원 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.. 순서대로 넣으면 될것이다 했지만 안되고 있어요... 어떻게 하나요??
비밀번호
보안코드
첨부파일
(2MB이하의 이미지, ZIP파일만 가능함)
기재하신 개인 정보는 문의내용에 대한 확인 및 신속하고 정확한 상담을 위해 수집 및 이용하고 있습니다.
기술 지원 외의 다른 목적으로 사용되지 않습니다. 위 개인정보 수집 및 이용에 동의합니다.
동의함
동의안함
공지사항
기술지원
자주 묻는 질문들
질문&답변 게시판
원격지원
고객지원
고객 맞춤 코딩 서비스 신청
A/S 및 수리신청
15일 대여신청
기술자료 요청
견적서 신청