안녕하세요, CIMON입니다.
어드레스 값이 이상하게 출력되는 경우, 다음 사항을 확인하여 주시기 바랍니다.
- 스캔 프로그램 내에서 어드레스를 중복으로 사용
- 산술 명령 이용 시 사용한 어드레스에 중복 영역이 발생
다음은 CICON에서 해당 증상을 확인 및 수정하는 방법입니다.
[점검 사항 – 크로스 레퍼런스 활용]
1. CICON의 크로스 레퍼런스라는 기능을 활용하여 프로젝트 내에서 중복된 어드레스가 있는지 확인합니다.
(1) 메인메뉴에서 [도구] -> [Cross Reference] 메뉴를 선택합니다.
(2) ‘디바이스별 보기’ 영역에서 [중복 사용] 버튼을 클릭합니다.
(3) 중복을 확인할 디바이스 영역을 선택합니다.
디바이스 확인 후, 중복으로 인해 잘못된 값이 쓰이는 경우 다른 어드레스를 이용하시기 바랍니다.
[점검 사항 – 명령어 오퍼랜드 확인]
1. 산술 명령이나 기타 더블워드 연산 관련 명령어 사용 시, 어드레스가 중복 될 가능성이 있습니다.
- 워드와 워드 연산 시 두개의 워드로 저장되는 경우
(S1과 S2가 연산 시 -> D, D+1)
= 16Bit Binary 사칙 연산 명령어 (DIV(P), MUL(P))
= BCD 4자리 사칙 연산 명령어 (BMUL(P), BDIV(P)
- 두 개의 워드와 두 개의 워드 연산 시 두 개의 워드로 저장되는 경우
(S1, S1+1과 S2, S2+1가 연산 시 → D,D+1)
= 실수 사칙 연산 (EADD(P),ESUB(P),EMUL(P),EDIV(P))
= BCD 8자리 사칙연산 (DBADD(P), DBSUB(P), DBMUL(P), DBDIV(P))
= 32Bit Binary 사칙 연산 (DADD(P), DSUB(P), DWDIV(P))
- 두 개의 워드와 두 개의 워드 연산 시 네 개의 워드로 저장되는 경우
(S1, S1+1과 S2, S2+1가 연산시 → D, D+1, D+2, D+3)
= 32Bit Binary 사칙 연산 (DDIV(P), DMUL(P))
(예제)
1. DIV(P)
- 내부 접점 신호 M00이 ON 하였을 때 D0000의 데이터와 D0001의 데이터를 나눗셈하여 D0003에 몫, D0004에 나머지를 저장하는 프로그램
2. DDIV(P)
- 내부 접점 신호 접점 M01이 ON 하였을 때 D0000, D0001의 데이터와 D0002, D0003의 데이터를 나눗셈하여 D0004, D0005에 몫, D0006, D0007에 나머지를 저장하는 프로그램
3. MUL(P)
- 내부 접점 신호 M02이 ON 하였을 때 D0001의 데이터와 D0002의 데이터를 곱셈하여 D0020에 하위 워드 데이터, D0021에 상위 워드 데이터를 저장하는 프로그램
4. DMUL(P)
- 내부 접점 신호 접점 M03이 ON 하였을 때 D0000, D0001의 데이터와 D0002, D0003의 데이터를 곱셈하여 D0004, D0005, D0006, D0007에 결과 데이터를 저장하는 프로그램
각 명령어의 자세한 내용은 CICON 도움말에서 확인하여 주시기 바랍니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.