-
제품선택
-
더블워드, 워드, 부동 소수점 데이터 연산 방법입니다.
– 더블워드/부동소수점 연산의 경우 지정어드레스에 +1까지 점유 하게 됩니다.
– 더블워드 연산의 경우 명령식 앞에 “D” 붙여주시면 됩니다.(예 : DADD, DSUB)
– 부동소수점 연산의 경우 명령식 앞에 “E” 붙여주시면 됩니다.(예 : EADD, ESUB)
* 부동소수점 연산은 XP, PLCS CPU만 지원됩니다.[예제]
* ADD 명령어
S1으로 지정된 데이터와 S2로 지정된 데이터를 덧셈하여 그 결과를 D로 지정된 영역에 저장합니다.
(“CICON > 도움말 > 도움말 – PLC공통 > PLC 명령어 > 응용 명령 상세 > 산술 연산 명령> BIN사칙연산(덧셈) : ADD, DADD, ADDP, DADDP” 참조)
1. 워드 연산
M00이 ON이 되었을 때 100과 D0을 덧셈하여 D100에 저장하는 프로그램
예) D0이 5일 때 D100의 값은 105가 됩니다.
2. 더블워드 연산
M00이 ON이 되었을 때 65536(H00010000)과 D0을 덧셈하여 D100에 저장하는 프로그램예) D0~D1이 16(H00000010)일 때 D100(D100~D101)의 값은 65552(H00010010)가 됩니다.
3. 부동소수점 연산
M00이 ON이 되었을 때 12.34와 D0~D1 부동소수점데이터(Float)을 덧셈하여 D100~D101에 부동소수점 데이터(Float)를 저장하는 프로그램예) D0~D1이 56.78일 때 D100~D101의 부동수소점 데이터(Float)는 69.12이 됩니다.
l 자세한 데이터 형태에 따른 연산은 “CICON > 도움말 > 도움말 – PLC공통 > PLC 명령어 > 응용 명령 상세”에서 참조해주시기 바랍니다.
-
안녕하세요, 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이 되겠습니다.
감사합니다.
-
안녕하세요,
CIMON입니다.
SCADA 상에서 Ethernet/Serial 컨버터(터미널 서버)를 사용하여 통신하고자 할 때, 사용자 프로토콜(Ethernet)을 작성한 후 사용 가능합니다.
아래 방법을 참조하여 주시기 바랍니다.
[적용 방법]
본 예제에서는 Serial Gate 제품 SG-1020/All 모델을 이용하였으며,
기본으로 설정되는 IP 어드레스는 각각 Serial Gate IP: 192.168.0.223 / SCADA IP: 192.168.0.10입니다.
1. 네트워크를 다음 그림과 같이 구성합니다.
2. 모든 장비가 연결된 상태에서, 인터넷 주소창에 Serial Gate IP 어드레스(192.168.0.223)를 입력한 후 설정을 확인합니다.
3. PC에 가상 COM 포트를 연결하기 위하여 Serial Gate에서 제공하는 ‘COM Redirector control’ 프로그램을 실행 후,
다음과 같이 설정합니다.
4. PLC가 Modbus RTU 프로토콜을 통해 SCADA과 통신하기 위해서는 사용자 프로토콜을 직접 작성 후 사용하여야 합니다.
CimonD을 실행한 후, [도구]-[I/O 디바이스]를 선택합니다.
디바이스 종류를 ‘㈜싸이몬 사용자 프로토콜(Ethernet)’으로 하여 사용자가 임의로 Modbus RTU 프레임을 구성할 수 있습니다.
5. 통신포트를 다음과 같이 설정합니다.
소켓 포트번호는 임의의 1000으로 지정한 후, SCADA가 설치된 PC의 IP 어드레스를 입력합니다. 이후 통신방식을 TCP로 설정합니다.
6. 스테이션을 추가합니다. 이 때 IP 어드레스는 Serial Gate(터미널 서버)의 IP 어드레스를 입력합니다.
7. Modbus RTU 프레임을 정의합니다. 다음 프레임은 1번 국번의 403073 어드레스에서 1 Word의 데이터를 가져와 M0에 저장하는 프레임입니다.
※ Modbus RTU 프로토콜의 프레임은 CimonD에서 도움말을 참조하여 주시기 바랍니다.
8. 데이터베이스에서 값을 감시할 태그를 생성합니다.
사용자 프로토콜에서 지정한 M0을 I/O 어드레스로 입력하여 실태그로 지정합니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.