PLC를 이용한 FND(7SEGMENT)표현 궁금해요
- 크루코드
- 5535
- 4
안녕하세요
프로그램을 짜던 중에 FND표현에 대한 궁금증이 생겨
이렇게 글을 올립니다. 교육용 키트만을 이용하여
프로그램상에서 형변환 펑션블럭을 이용하여 키트로 뿌려주는것만
해보고 직접 FND를 PLC에 연결해서 표현하려니 막막하기만 합니다.
BCD코드를 입력하여 숫자를 표현하는FND의 전자회로 구현은
끝내놓았는데 도대체 PLC내의 프로그램에서 형변환(INT_TO_BCD)된
BCD코드가 PLC유닛의 외부로 어떻게 출력이 되는지?(BCD면 몇개의
출력으로 나오는지....?) 변수할당은 어떻게 해주는지 정말 정말
궁금합니다. 부디 전문가님들에 답변 부탁드립니다.
참! 저는 GM7(LG) 40접점(입력24개, 출력16개) PLC를 사용하고 있습니다.
그럼 이글을 보시는 모든 분들 오늘도 즐거운 하루 되세요^^
댓글 4
일단 전 삼성plc를 사용해서 정확한 명령어를 가르쳐드리지는 못합니다
fnd에 bcd 회로를 구현했다고 하니 1 fnd당 필요한 접점은 4개군요
사실 plc내부에 fnd를 콘트롤 할수있도록 인코더/디코더기능의 명령은 있지만 그럼 접점을 많이 사용하게 되죠
어째든 구현하셨다니깐....
레지스터의 값을 bcd로 바꾸는 명령어는 있구요
출력접점은 레지스터의 각 비트와 대응됩니다
삼성꺼를 예를 든다면
R3.0 -> R3 레지스터의 1번째 비트(1) -> FND와 연결
R3.1 -> R3 레지스터의 2번째 비트(2) -> FND와 연결
R3.2 -> R3 레지스터의 3번째 비트(4) -> FND와 연결
R3.3 -> R3 레지스터의 4번째 비트(8) -> FND와 연결
예를 들어
bcd로 변환한 값 5를 출력레지스터 R3에 넣으면 R3.0과 R3.2가 온이됩니다
{BCD L1,L2} ...... L1의 값을 bcd로 변환하여 L2에 넣습니다
{MOV L2,R3} ...... L2의 값을 R3에 넣습니다 그러면 R3레지스터의
해당비트는 값에 따라 on/off됩니다
도움이 되실런지....
![profile image](https://gisullab.com/files/member_extra_info/profile_image/096/96.jpg?20160626064806)
프로그래밍할때요..
GM7쓰신다구하셨죠?
저는 GM5를 썼었는데..
GM5에 보면.. "SEG" 라는 펑션블럭이 있어요..
뭐하는 펑션 블럭인가 하면..
입력이 들어오면 HEX(16진)숫자를 7세그먼트(FND) 디스플레이를 위한 코드로 변환하여 OUT으로 출력,
BCD입력의 경우 0000~9999 까지의 값이 4개의 7세그먼트에 표시 가능하며,
HEX입력의 경우 0000~FFFF 의 값이 4개의 7세그먼트에 표시하는 기능을 가진 블럭이거든요..
이 블럭의 사용법은
SEG라는 블럭을 생성하면 IN측에 EN, IN, OUT측에 ENO, OUT.. 이렇게 생긴 블럭이 생기는데요..
EN에는 BOOL대수를 넣어주고, IN에는 7세그먼트 코드로 변환할 입력데이터,
OUT측의 ENO에는 EN값이 그대로 출력대고, OUT에는 7세그먼트 코드로 변환된 결과 데이터가 출력됩니다 ^^*
자세한거는 GMWIN 명령어집 참조 하시면 이해 하시기 빠르실거에요..
권한이 없습니다. 로그인