1.목적:온도계와 MASTER-K120S를 사용한 RS485통신으로 온도계 현재값 읽어오기.
2.온도계 파라메터 설정:국번1번설정-->통신속도 9600bps설정.
3.PLC 파라메터 설정:통신채널Ch1 허용-->자국번 0번-->통신속도 9600bps설정-->데이터 비트 8-->패리티 비트 없슴-->정지 비트1-->프로토콜 및 전송모드 사용자 정의 설정-->등록목록에서 송,수신 프레임 작성(프로그램 첨부)-->래더프로그램 작성(SNCCOM 00001 00000 M003)-->프로그램 다운로드
4.모니터:온라인에서 정보읽기-->송,수신 정보 확인-->채널1번 모니터 시작(모니터 캡쳐파일 첨부)
5.결과:읽기요구에 대한 송신프레임 정상-->읽기응답에 대한 수신 프레임 정상.
문제는 송,수신 프레임 정상적으로 모니터가 되는데 수신 프레임에서 작성한 데이터 저장 영역 어레이 MO 번지에 데이터가 저장이 안됩니다..송,수신 모니터 캡쳐화면(첨부파일) 보시면 (ak sx 01RDTP0 00E5 101 ex b)응답 프레임이 이렇게 올라오고 있거든요.00E5라는 값이 온도계 현재 값입니다.PLC 수신 프레임 작성이 잘못된걸까요?아니면 제가 모르는 다른 방법이 있는걸까요?온도계 업체에 물어봐도 그쪽 사람들은 PLC 잘몰라서라는 답변 뿐입니다.이틀째 이것저것 바꿔도 보고 메뉴얼도 찿아보고 유사한 오토닉스나 한영넉스의 통신 프로토콜과 PLC 프로그램 참고자료 등을 봤는데도 도무지 해결이 안되네요.제가 판단하기에는 수신이 정상적으로 되니 PLC 프로그램에서 해결만 하면 될것 같은데요...고수님들 어떤 말이도 좋으니...제발요..ㅠ.ㅠ조언부탁드립니다...
이틀째 사투중이네요...파일도 함께 첨부합니다...LS기술지원센터에 문의해봐도 별다른 방법이 없네요...
송수신 모니터.jpg
통신프로토콜(2005S).xls
스팀벤딩9ea_485_120S_LS.kpr
FOX-2001CC 온도계.pdf
첫댓글 통신에는 이상없구요
M0000을 다른어드레스로 바꿔보십시요
온도디바이스에서 PLC국번(마스터) 0으로
(모니터시 30h 30h값) 뜨나요?
PLC가 수신시에 자기 어드레스 아니면
받기는 받아도 최종 디바이스라이트 안하죠 당연
온도계에서 PLC국번 모니터가안됩니다...
단순하게...485통신지원과...통신속도설정...온도계국번설정...이정도만됩니다...그냥...PID입니다...
통신끝부분에 저항은 넣었는가요
120s는 NICP 로 안되는걸 루 아는데요
제가 전에 120S와 온도계 오토닉스 프로그램 한거 있은데 필요 하심 보내 드릴께요-참고 용으로
LS산전 기술지원센터하고통화했는데....자기들도...이해가안된다고하는군요...파라메터설정이나...프로그램은맞는데...왜안되지...이러면서요....정말120s와안되는건지...200s로바꿔야하는건지...근데NICP가뭐죠?ㅋ
오토닉스는...자료실에...프로그램예제가잘나오있던데요...정성전기님이갖고계신프로그램좀받을수있을까요?kwanh9912@hanmail.net참고로...저는...사용자정의 프로토콜입니다
ak sx 01RDTP0 00E5 101 ex b
왜 이렇게 어렵게 하시는지 이해가 안갑니다.
plc 와 통신(RS485) 가능하 그어떤 주변기기도 통신파라메타 만 설정해주면
PLC 에서는 현재값 읽이괴 현재값 저장하기 그리고 설정치 보내기는
PLC 에서 간단하게 그 부분만 프로그램 하시면 됩니다.
통신 방법이 RS485 던 RS422 던 RS232던 (ak sx 01RDTP0 00E5 101 ex b) 이와같은 것은 필요 없습니다.
카페에 자주 묻는 PLC 와의 기타 기기와의 통신 문제는 위 글만 염두해 두시면 됩니다.
무던 PLC 는 똑 같습니다.
사용자는 주변기기에 맞게 설정만 하시면 됩니다.
통신을위해서 PLC 에서 별도로 프로그램은 필요치 안습니다.
다만 주변기기의 현재 값이나
설정값은 받고 보내는 프로그램만 PLC 에 하면 됩니다.
모던 PLC는 다 똑 같습니다.
왜이렇게어렵게하는게아니고요....온도계측...통신 프로토콜 송수신포맷이...이렇게정리가되있습니다...사용자 정의로....ak sx 01RDTP0 00E5 101 ex b 이포맷이...PLC 측에서 읽기요구프레임(sx 01RXTP0 ex>)에대한 읽기응답 프레임이죠...여기서...00E5 는 현재온도값이구요...이온도값이...프로그램을해도...저장이안된다는거죠...파라메터상의...수신프레임도..정상이고....BCC설정도...송신쪽이...XOR 1이면...수신쪽도XOR1설정하연되는거아닌가요?어렵네요...
수신 프레임을 바꿔보셔야 할것같은데요 수신 데이터를 보면 ACK STX 가 들어오네요.
그런데 설정하신 프레임에는 STX만 설정하신듯...
그리고 SNDCOM은 저도 첨보는 명령어라 프로그램은 뭐라 말씀드리기가 애매하네요.
그냥 SND,RCV 쓰셨으면 알아보겠는데요.
수신프레임은바꿔봤습니다....[ACK][STX]로...그래도...안돼요...SNDCOM은...마스터K120S전용명령입니다...SND와RCV 200S명령이구요.
ㅠ.ㅠ
이번엔...XBC DR32와 마스터K200S를 서로485통신으로연결해서...온도계에서보내는 프레임그대로작성해서 테스트해봤습니다~~~
헐~~완전잘되더군요...온도계문제아닐까요?
@인 시스템 온도계 문제라고 하기엔 Recieve 데이터가 정확하게 들어오는데요?
상수로 설정하신 01RDTP0 가 문제인것 같네요. 숫자 "0"이 아니고 알파벳 "O"로 해보시고 그래도 않돼시면 상수 지우시고 전체를 변수로 받아보세요
@개미 온도계업체측에알아봤는데...숫자0이맞답니다...
@인 시스템 설명서에 H30인거보니 숫자가 맞네요. ㅠ.ㅠ;
Header에 [ACK][STX] 변수 M000 크기 14 Byte로 해보세요.
변수 크기가 않맞았어요 5Byte가 아니고 7Byte로 하셔야
@개미 그것도벌써다해봤죠...ㅋ
정말이상합니다...지금XGB로해보고있는데...RCVUDATA이명령을쓰니깐...저장되는데요..프레임전체가..ㅎ....이건뭔지...
@인 시스템 변수 크기 맞추셨는데도 않돼나요?
정말 이상하네요. 수신 프레임 문제인건 확실한데
@개미 수신을...전부다어레이로잡고...18BYTE로해보면될까요?