Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. 프로그램에서 새 프로그램 (N)을 선택합니다.

...

 

  1. 새 프로그램 추가/작성을 하면 아래와 같은 프로그램 블록이 나타납니다.

...

프로그램 이름 : 이름을 정해줍니다. 최대 12자까지 입력할 수 있습니다.

...

파라미터 등록이 끝났으면 [확인] 버튼을 클릭합니다.

 

 3, [확인]을 하면 프로토콜을 등록할 수 있는 대화상자가 활성화합니다.

...

프로토콜을 등록할 수 있는 PROT.SPC 파일이 생성됩니다.

...

번호

프레임

주기

송신에 대한

수신프레임

수신에 대한

송신프레임

통신결과(M0000)

성공시

실패시

3

송신프레임

50ms

번호 ‘4’

-

-

-

4

수신프레임

-

-

-

M0004

M0024

7

송신프레임

100ms

-

-

M0007

M0027

 

 

  1. 프레임 추가 버튼을 선택하면 프레임 편집을 할 수 있습니다.

...

프레임 이름 : 프레임 이름을 등록합니다. (최대 20자)

...

아래로 이동 : 작성된 프레임의 세그먼트들의 위치를 바꾸고자 할 때 사용합 니다. 선택되어진 세그먼트를 한칸씩 아래로 이동합니다.

 

  1. 프레임을 작성하기 위해 세그먼트 추가를 합니다.

SEGMENT0

SEGMENT1

.....

SEGMENT8

SEGMENT9

...

수신되는 데이터의 값에 관계없이 지정된 길이만큼의 데이터를 수신 후 폐기하는 세그먼트입니다. 수신프레임에서만 설정 가능합니다. 특수데이터 식별코드 적용을 하게 되면 특수데이터의 식별자와 같은 문자가 연속해서 수신되는 것을 식별하여 식별자 다음에 오는 데이터를 무시해 버립니다.

...

길이가 255(bytes)로 지정이 되면 뒤 따르는 세그먼트가 수신될 때 까지 길이와 관계없이 무시 처리됩니다. 따라서, 뒤 따르는 세그먼트는 반드시 고정값 형태의 세그먼트로 정의되어야 합니다.

 

  1. 메모리 링크

CPU의 메모리에 저장되어 있는 데이터를 지정된 길이만큼 송신하거나, 수신된 데이터를 지정된 길이만큼 CPU메모리 영역에 저장하는 세그먼트입니다. 최대 데이터 사이즈는 250Byte 입니다.

길이가 255(bytes)로 지정이 되면 가변길이형 세그먼트로 동작됩니다. 이 형태의 세그먼트는 프레임의 종류(송/수신)와 ASCII 변환 방식에 따라 다소의 동작 차이가 있습니다. 아래의 ASCII 데이터변환과 관련된 내용을 참조 바랍니다. 이때는 BCC 체크 즉, 오류검사 방식이 동작을 하지 않습니다.

 

특수데이터 식별코드 적용을 하게 되면 특수데이터의 식별자와 같은 문자가 연속해서 수신되는 것을 식별하여 식별자 다음에 오는 데이터를 무시해 버립니다. 어드레스에는 송/수신할 데이터의 CPU메모리 영역을 지정합니다. 특수데이터 식별코드 적용됩니다.

...

  • 아스키(ASCII) 데이터변환(F/W V1.62 이후)

무변환(바이너리)

CPU 메모리 영역에 있는 데이터를 변환없이 그대로 송/수신합니다.

고정길이형 세그먼트의 경우 다음 순서대로 데이터를 변환없이 처리합니다. 세그먼트의 길이는 11Byte로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-041756.pngImage Modified

[송신 프레임]

image-20241128-041900.pngImage Modified
  • 고정길이가 홀수로 지정된 경우, 마지막 WORD 데이터의 상위 Byte만 송신됩니다 .

[수신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-042137.pngImage Modified

가변길이형 세그먼트의 경우 다음 순서대로 데이터를 변환 없이 처리합니다. 반드시 고정값 형태의 세그먼트를 뒤에 추가해야 합니다. 세그먼트 길이는 255 Byte로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-042437.pngImage Modified
  • 첫번째 WORD 데이터가 가변길이로 처리됩니다.

[송신 프레임]

image-20241128-042612.pngImage Modified
  • 가변길이가 홀수로 지정된 경우, 마지막 WORD 데이터의 상위 BYTE만 송신됩니다.

[수신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-042807.pngImage Modified

16진 정수

송신 시, CPU메모리 영역의 데이터를 16진 ASCII 데이터로 변환하여 송신하고, 수신 시 16진 ASCII 데이터를 바이너리 데이터로 변환하여 CPU 메모리에 저장합니다.

고정 길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 세그먼트 길이는 11Byte 로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D 디바이스 영역]

 

image-20241128-043219.pngImage Modified

데이터 변환 시, 다음 과정을 거쳐 처리됩니다.

3132h -> '3' '1' '3' '2' -> 33h 31h 33h 32h (4 Byte)
3334h -> '3' '3' '3' '4' -> 33h 33h 33h 34h (4 Byte)
3536h -> '3' '5' '3' '6' -> 33h 35h 33h (3 Byte)

고정길이가 4의 배수로 지정되지 않은 경우, 마지막 WORD 데이터의 일부만 송신됩니다. 1WORD당 4Byte로 처리됩니다.

[송신 프레임]

image-20241128-043522.pngImage Modified

[수신하는 CPU 모둘 측 D디바이스 영역]

image-20241128-043633.pngImage Modified

가변길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 반드시 고정값 형태의 세그먼트를 뒤에 추가해야합니다. 세그먼트 길이는 255Byte로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-043851.pngImage Modified

첫번째 WORD 데이터가 가변길이로 처리됩니다.
데이터 변환 시, 다음 과정을 거쳐 처리됩니다.
3132h -> '3' '1' '3' '2' -> 33h 31h 33h 32h (4 Byte)
3334h -> '3' '3' '3' '4' -> 33h 33h 33h 34h (4 Byte)
3536h -> '3' '5' '3' '6' -> 33h 35h 33h (3 Byte)
가변길이가 4의 배수로 지정되지 않은 경우, 마지막 WORD 데이터의 일부만 송신됩니다.1 WORD 당 4 Byte로 처리됩니다.

[송신 프레임]

image-20241128-044231.pngImage Modified

[수신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-044300.pngImage Modified

10진 정수

송신시 CPU메모리 영역의 데이터를 10진 ASCII데이터로 변환하여 송신하고, 수신시 10진 ASCII데이터를 바이너리 데이터로 변환하여 CPU메모리에 저장합니다.

고정길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 세그먼트 길이는 11 Byte로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-045758.pngImage Modified

어드레스 영역부터 입력된 1 WORD 데이터만 처리합니다.
INT형으로 음수값을 입력하여도 UNIT형으로 데이터를 처리합니다.
데이터 변환 이후 남는 여유 공간은 선두부터 'sp'(20h)로 채워 송신합니다.

데이터 변환 시, 다음 과정을 거쳐 처리됩니다.

-12345 (INT형) -> 53191 (UINT형) -> '5' '3' '1' '9' '1' -> 35h 33h 31h 39h 31h (5 Byte) ->
20h 20h 20h 20h 20h 20h 35h 33h 31h 39h 31h (11 Byte)

[송신 프레임]

image-20241128-045923.pngImage Modified

[수신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-050011.pngImage Modified

가변길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 반드시 고정값 형태의 세그먼트를 뒤에 추가해야 합니다. 세그먼트 길이는 255Byte로, 어드레스는 D0000으로 설정하였습니다.

[송신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-050127.pngImage Modified

어드레스 영역부터 입력된 2 WORD 데이터만 처리합니다.
INT형으로 음수값을 입력하여도 UNIT형으로 데이터를 처리합니다.
데이터 변환 이후 남는 여유 공간은 생략하여 송신합니다.
데이터 변환 시, 다음 과정을 거쳐 처리됩니다.
-12345 (INT형) -> 53191 (UINT형) -> '5' '3' '1' '9' '1' -> 35h 33h 31h 39h 31h (5 Byte)

[송신 프레임]

image-20241128-050211.pngImage Modified

[수신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-050246.pngImage Modified

실수(Float)

송신 시, CPU 메모리 영역의 데이터를 스케일링(배율 1-10000)을 해서 송신하고, 수신 시, 수신되는 데이터를 스케일링(배율 1-10000)을 해서 CPU 메모리에 저장합니다.

고정길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 세그먼트 길이는 11Byte 로, 어드레스는 D0000으로, 소수점 자리수(스케일링)은 2(x100)으로 설정하였습니다.

[송신하는 CPU 모듈 측 D 디바이스 영역]

image-20241128-050713.pngImage Modified

어드레스 영역부터 입력된 2WORD 데이터만 처리합니다.

음수값의 경우(-) 부호까지 처리합니다.

데이터 변환 이후 남는 여유 공간은 선두부터 ‘sp’(20h)로 채워 송신합니다.

데이터 변환 시, 다음 과정을 거쳐 처리됩니다.

-123.456 -> '-' '1' '2' '3' '.' '4' '5' -> 2Dh 31h 32h 33h 2Eh 34h 35h (7 Byte) ->
20h 20h 20h 20h 2Dh 31h 32h 33h 2Eh 34h 35h (11 Byte)

[송신 프레임]

image-20241128-050844.pngImage Modified

[수신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-050912.pngImage Modified

가변길이형 세그먼트의 경우 다음 순서대로 데이터를 변환하여 처리합니다. 반드시 고정값 형태의 세그먼트를 뒤에 추가해야 합니다. 세그먼트 길이는 255Byte로, 어드레스는 D0000으로, 소수점 자리수(스케일링)은 2(x100)로 설정하였습니다.

[송신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-051112.pngImage Modified

어드레스 영역부터 입력된 3 WORD 데이터만 처리합니다.

음수값의 경우 -부호까지 처리합니다.

데이터 변환 이후 남는 여유 공간은 생략하여 송신합니다.

데이터 변환 시, 다음 과정을 거쳐 처리됩니다.

-123.456 -> '-' '1' '2' '3' '.' '4' '5' -> 2Dh 31h 32h 33h 2Eh 34h 35h (7 Byte)

[송신 프레임]

image-20241128-051317.pngImage Modified

[수신하는 CPU 모듈 측 D디바이스 영역]

image-20241128-051348.pngImage Modified

수신 시, 가변길이는 항상 4로 처리됩니다.

 

...

 

워드 데이터 상/하위 교환을 선택하게 되면 송/수신 되는 데이터중 상위 1Byte 데이터와 하위 1Byte 데이터를 교환합니다. 예를 들어 송신시 CPU메모리 영역에 저장되어 있는 데이터가 h1234(ASC:1234)라 가정하고, 워드 데이터 상/하위 교환을 하면 실제 송신되는 데이터는 h3412(ASC:3421)가 되며, 수신시 수신되는 데이터가 h1234(ASC:1234)라 가정하고, 워드 데이터 상/하위 교환을 하면 실제 수신되는 데이터 h3412(ASC:3412)가 CPU메모리에 저장됩니다.

...