[PLC][스캔프로그램]어드레스에 데이터를 넣었는데 데이터의 수치가 이상하게 나옵니다.
2017.06.01

안녕하세요, 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이 되겠습니다.

감사합니다.