학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

FieldPoint 디지털 출력

학습목표

FieldPoint 입출력을 익혀 산업 현장에 적용한다.

학습주제

출력 프로그램의 작성

예습내용

FieldPoint 프로그램은 LabView, LabWindow/CVI 등을 사용하여 만들 있다. 그러나 애석하게 아직까지 Maker(NI) 에서는 VisualC++ 위한 라이브러리를 제공하고 있지 않다. LabWindo/CVI에서는 제공되는 라이브러리로 손쉽게 프로그램을 있으나 학생들이 다른 C-컴파일러를 공부하는 부담이 있으므로 “Syntex” 이용하여 VisualC++에서 프로그램 하는 방법을 공부한다.

FP-1000/1001 Programmer Reference Manual 보고 Cammand 공부 하시오.

 

FieldPoint 명령어

명령어는 아래와 같은 문장으로 구성된다. ( 이는 위의 Manual 기술된 내용이다.)

[start] [address] [command] [checksum] [end]

[start]

명령어는 “>” (ASCII 번호 62) 시작한다.

[address]

두개의 ASCII-hex 구성된다. 명령어는 adress 명시해야 하며 00-F9까지 구성된다.

[command]

4개의 영역으로 구성되며, 일부 명령은 4 모두를 쓰지 않는다.

 

[cmdchars]

또는 두개의 ASCII-hex 문자. 모든 FieldPoint 이를 포함해야 한다. 표준 명령은 하나의 문자(“A”~”Z” 또는 “a”~”i”) 구성된다. 확장 명령은 두개의 문자로 구성되고 항상 “!”(ASCII 33)으로 시작한다. 두번째 문자는 확장 명령이다. (“A”~”Z” 또는 “a”~”z”)

 

[position]

0에서4개의 문자이다. 일부 FieldPoint 명령은 이를 포함하지 않는다. 이것은 명령을 수행하는 channel0~15 나타낸다.

 

[modifier]

Zero 또는 ASCII-hex이며 일부 FieldPoint 이를 포함하지 않는다. 영역은 여러 개의 명령을 수행하는 명령어에 의해 사용되어 진다.

 

[data]

Zero 또는 ASCII-hex이며 일부 FieldPoint 이를 포함하지 않는다. 영역은 특정 문자를 포함한다.

[checksum]

두개의 ASCII-hex 문자 영역은 통신 에러를 검사한다. [address] [command] 있는 모든 ASCII 번호를 더해서 256으로 나눈 나머지를 표기한다.

에러 검사를 필요로 하지않을 때는 ?? 표기한다.

[end]

한개의 ASCII-hex 문자 “carriage return”(ASCII 13) 또는 “.”(ASCII 46)으로 표기한다.

 

[예제]

>33J0011456??.

Channel-0, channel-1,channel-4 0x456 아나로그 값을 address 0x33 명령한다.

명령 “J” Manual 4-12 참조한다.

 

adress

command

position

data

문자

3

3

J

0

0

1

1

4

5

6

ASCII 번호

51

51

74

48

48

49

49

52

53

54

ASCII 번호

529

계수

17 (or hex 11), 529 256으로 나눈 나머지

checksum

11

실습방법

   

1. 디지털 출력

디지털 출력은 Manual 5-47 “Write Discrete with Status” 사용하여 프로그램을 만든다.

빨간색 부분 1 됨으로 adress 01 된다. 아래는 channel 0 1 출력한 이다.

 

0출력

1출력

Channel-0

>01!M00010000??

>01!M0001FFFF??

Channel-1

>01!M00020000??

>01!M0002FFFF??

Channel-2

>01!M00040000??

>01!M0004FFFF??

Channel-3

>01!M00080000??

>01!M0008FFFF??

Channel-4

>01!M00100000??

>01!M0010FFFF??

Channel-5

>01!M00200000??

>01!M0020FFFF??

Channel-6

>01!M00400000??

>01!M0040FFFF??

Channel-7

>01!M00800000??

>01!M0080FFFF??

그리고 중요한 것은 통신의 끝에 CR (“\r”,0x0d) 붙여서 통신해야 한다.

프로그램 실습

 

처음

   

 

중요함수