Professional Documents
Culture Documents
WONDERWARE
I. Giới thiệu chung về Wonderware:
Wonderware là công ty hàng đầu thế giới của Hoa Kỳ chuyên cung cấp
phần mềm công nghiệp cho các nhà máy, hệ thống điều khiển, tự động. Được
thành lập từ năm 1986, đến nay đã có hơn 100.000 nhà máy lớn trên toàn cầu
sử dụng Wonderware để giám sát, điều khiển quản lý nhằm nâng cao khả năng
sản xuất và cạnh tranh cho các doanh nghiệp. Các sản phẩm của Wonderware
được phát triển trên nền tảng của hệ điều hành Microsoft, và được Microsoft
chọn làm đối tác đi tiên phong trong việc đưa giao diện người máy và cơ sở dữ
liệu xuống sàn nhà máy. Thị phần của Wonderware chiếm 32% trên toàn cầu
về giao diện người máy HMI (Human Machine Interface), 28% về cơ sở dữ
liệu nhà máy (Historian Database). Các sản phẩm của Wonderware được thiết
kế trên dựa trên kiến trúc mở, module hoá, có khả năng ổn định và tương thích
cao với phần cứng của các hãng, bộ sản phẩm bao gồm:
Double click vào biểu tượng trên thì xuất cửa sổ cài đặt sau:
Ta click next để tiếp tục quá trình cài đặt cửa sổ sau xuất
Ta chọn như hình sau đo click next
Cửa sổ xuất hiện ta chọn như hình trên sau đó click Finish
Quá trình cài đặt Intouch hoàn tất
Intouch chúng ta đang cài là bản Demo. Nếu có key thì ta sẽ update key
như sau:
Start/ Programs/ Wonderware/ Common/ License Utility xuất hiện cửa sổ
sau:
Ta click file chọn intall license file sau đó dẫn đến nơi chứa file key sau đó
chọn ok.
3. Các thành phần của Intouch:
Intouch gồm 3 chương trình chính:
Intouch Application Manager là nơi chứa các ứng dụng mà chúng ta đã tạo
ra và cũng là nơi để đặt cấu hình cho WindowViewer và WindowMaker. Mở
các tiện ích DBDump databases và DBLoad databases.
WindowMaker là môi trường phát triển các ứng dụng của Intouch. Đây là nơi
người dùng thiết kế giao diện mong muốn, liên kết các hình ảnh ứng dụng với
các thiết bị ngoại vi và các ứng dụng khác của Window.
WindowViewer là môi trường chạy các ứng dụng mà người dùng tạo ra
trong WindowMaker.
3.1 Intouch Application Manager:
Đầu tiên khởi động Intouch :
Vào Start/ Programs/ Wonderware/ Intouch :
Màn hình khởi động Intouch application manager hiện lên:
Trong cửa sổ Intouch - Application Manager đã có sẵn các ứng dụng đã được
tạo trước đó.
3.2 WindowMaker:
Để thiết kế được giao diện ta phải vào của sổ làm việc Window Maker:
Click chuột phải vào tên ứng dụng cần thiết kế, chọn WindownMaker hoặc
double click chuột trái vào ứng dụng vừa tạo ra, để vào môi trường thiết kế
WindowMaker:
Ta chọn Ok
Hoặc
Cửa sổ WindowViewer xuất hiện:
Cửa sổ Windows là nơi chứa các trang giao diện thiết kế.
Cửa sổ Tools là nơi chứa các thiết lập thuộc tính, tạo biến cho đối tượng
Cửa sổ Scripts là nơi để tạo các ứng dụng để viết chương trình Scripts
Cửa sổ Windows & Scripts là nơi để chứa các trang giao diện và các Scripts sử
dụng trong ứng dụng.
Line: dùng để tạo một đoạn thẳng theo phương bất kì.
H/V Line: dùng để tạo các đoạn thẳng theo phương ngang hoặc
phương đứng.
PolyLine: dùng để tạo ra các đường ziczac( nếu muốn kết thúc đường vẽ
thì double click chuột.
2.1.2 Fill shape: Là công cụ để tạo các hình ảnh 2 chiều, có các loại như sau:
Round Rectangle: dùng để tạo các hình chữ nhật có đỉnh tròn.
Polygon: dùng để tạo đa giác bất kì( kết thúc bằng cách double click
chuột).
Button:
Là công cụ tạo nút nhấn 3 chiều. Khi vẽ đối tượng Button vào trong
ứng dụng, trên Button sẽ được mặc định chữ Text, để thay đổi ta làm như sau:
Right click / Substitute / Substitute Strings
Nhập tên cần hiển thị vào ô text, sau đó nhấp OK để hoàn tất
2.1.4 Trends: Là công cụ dùng để biểu diễn giá trị của tag theo thời
gian dưới dạng 1 đồ thị. Có 2 loại Trends: Real-times Trend và Historical
Trend:
Real times Trend: là công cụ dùng để biểu diễn giá trị theo thời gian hiện
tại của tag.
Historical Trend: là công cụ dùng để biểu diễn giá trị lưu trữ dữ liệu trong
quá khứ của Tag.
2.2 Thanh Wizar:
Là những đối tượng hình ảnh có sẵn trong thư viện. Khi cần sử dụng, chỉ cần
chọn và dán lên form.
Cách chọn 1 đối tượng trong Wizard:
Click vào biểu tượng Wizard Selection trên thanh công cụ. Cửa sổ
Wizard Selection sẽ được hiện ra như sau:
Cửa sổ bên trái chứa các tên thư mục, cửa sổ bên phải là các đối tượng có
trong thư mục được chọn.
Khi chọn đối tượng cần sử dụng, ta click vào OK. Muốn vẽ đối tượng được
chọn lên form, ta click giữ chuột và rê chuột.
2.3 Thanh Arrange:
Các công cụ xử lý ảnh
Align Left: dùng để canh lề trái cho các đối tượng được chọn. Khi nhấn
vào biểu tượng này thì mép bên trái của các đối tượng được chọn sẽ trùng
nhau.
Align Center: dùng để căn chính giữa cho các đối tượng được chọn.
Align Right: dùng để canh lề phải cho đối tượng được chọn.
Align Middle: dùng để canh chính giữa theo phương ngang cho các đối
tượng được chọn.
Align Bottle: dùng để canh dưới cho các đối tượng được chọn.
Align centerpoints: dùng để canh điểm giữa cho các đối tượng được
chọn.
Send to back: công cụ này cho phép đối tượng được chọn nằm dưới các
đối tượng được chọn.
Bring to front: công cụ này cho phép đối tượng được chọn nằm trên tất
cả các đối tượng được chọn.
Space Horizontal: giãn đều các đối tượng được chọn theo phương ngang.
Space Vertical: giãn đều các đối tượng được chọn theo phương thẳng
đứng.
Make Symbol: liên kết các đối tượng thành 1 đối tượng đơn giản.
Break symbol: dùng để tách các đối tượng được liên kết bằng Make
Symbol thành các đối tượng thành phần.
Make Cell: dùng liên kết các đối tượng được chọn thành đối tượng phức
tạp.
Break Cell: dùng để tách các đối tượng được liên kết bằng Make Cell
thành các đối tượng thành phần.
Rotate Clockwise: dùng để quay đối tượng 1 góc 90 theo kim đồng hồ.
Rotate Counter Clockwise: dùng để quay đối tượng ngược chiều kim
đồng hồ 1 góc 900.
Nhập đường dẫn đến thư mục chứa ứng dụng vào ô Text, hoặc nhấn nút
Browse để chọn đường dẫn. Tên thư mục chứa ứng dụng có thể mặc định hoặc
thay đổi theo ý muốn.
Click Next, giao diện Creat New Application thứ hai hiện ra:
Đặt tên cho thư mục chứa ứng dụng, click Next giao diện Creat New
Application thứ ba hiện ra:
Nhập tên và mô tả về ứng dụng trong 2 ô text tương ứng. Sau đó, click
vào finish để hoàn tất. Khi đó ứng dụng mới sẽ được tạo ra trong giao diện
Intouch Application Manager.
Để mở một ứng dụng sẵn có của Intouch:
Ta click vào Tool / Find applications, hoặc nhấp vào biểu tượng ống
nhòm, sẽ hiện ra cửa sổ Browse for Folder:
Chỉ đường dẫn tới ứng dụng, sau đó nhấp OK.
Tạo 1 dự án với tên như cửa sổ sau:
Để thiết kế giao diện ta phải tạo một ứng dụng Form tại đó ta có thể vẽ các đối
tượng, hình ảnh và viết lệnh điều khiển cho các đối tượng .
Ta có 3 cách để tạo 1 Form mới:
Vào menu File, chọn NewWindow.
Click vào biểu tượng New trên thanh công cụ.
Click phải chuột trên mục Window trong cửa sổ Application Manager và chọn
New.
Hộp thoại hiện ra và ta đặt ứng dụng như sau:
Name: nhập tên cửa sổ, tên này sẽ xuất hiện trên thanh ghi tiêu đề của cửa sổ
được tạo.
Comment: ô này dùng để nhập 1 số ghi chú cho cửa sổ, ta có thể bỏ qua.
Window Color: ô này để tạo màu nền của cửa sổ.
Window Type: Có 3 option trong mục:
Replace: ta chọn thuộc tính này cho form khi muốn nếu form này xuất hiện thì
tất cả các form khác sẽ biến mất.
Overlay: chọn thuộc tính này cho phép khi form xuất hiện thì nó sẽ luôn nằm
đè lên các form khác.
Popup: thuộc tính này tương tự overlay. Nghĩa là khi form này xuất hiện thì
nó sẽ luôn nằm đè lên các form khác. Điểm khác ở chỗ, form Overlay không
cho phép form khác nằm đè lên nó khi fom khác được click chọn, còn form
Popup thì cho phép.
Dimensions: Các thuộc tính trong mục này dùng để định dạng kích thước và
vị trí
của form, ta có thể xác định các thuộc tính này ngay từ đầu hoặc để mặc định
và thay đổi sau quá trình thiết kế( muốn thay đổi được trong quá trình thiết kế,
ta phải chọn thuộc tính Size Controls.
X Location: đây là khoảng cách giữa mép trái của màn hình và mép phải của
form
Y Location: đây là khoảng cách giữa mép phải của màn hình và mép
phải của form.
Windown Height: chiều cao của form.
Windown Width: chiều rộng của form.
Title Bar: chọn mục này nếu muốn form có thanh ghi tiêu đề.
Size controls: chọn mục này nếu muốn kích thước của form có thể thay đổi
trong quá trình thiết kế.
Frame Style: các option trong mục này chỉ được phép chọn khi ta không chọn
Title Bar và Size Control.
Single: form có 1 đường viền đơn.
Double: form có 1 đường viền kép.
None: form không có đường viền.
Sau khi xác định xong các thuộc tính, ta click vào OK, quá trình tạo form đã
hoàn tất. Một ứng dụng có thể có 1 hay nhiều form, nếu muốn tạo thêm các
form khác, ta cũng làm theo các bước như trên.
Sau khi đặt xong click Ok ta có cửa sổ sau:
Click vào Tagname để đặt tên, click vào nút Type để chọn kiểu tag:
Màn hình sau hiện ra:
Chọn kiểu cho tag, rồi nhấn OK để về cửa sổ định nghĩa tag.
III. Liên kết các đối tượng( Animation Links):
1.Cách tạo các liên kết:
Để các đối tượng trên giao diện thể hiện được quá trình hoạt động bên
ngoài ta phải tạo mối liên kết giữa các đối tượng đó lại với nhau.
Muốn định dạng các đặc tính cho đối tượng, double click vào đối tượng,
hộp thoại sau hiện ra:
Muốn gán 1 đặc tính nào cho đối tượng, ta click và đặc tính đó. Một đối tượng
có thể có nhiều đặc tính.
Các đặc tính có trong hộp thoại:
1.1. User Input:
Tại ô Tagname nhập tên tag cần liên kết, nhập tầm giá trị trong ô Min Value,
Max Value, sau đó click OK để hoàn tất.
1.2.Slider:
Các đặc tính trong mục này cho phép đối tượng dịch chuyển theo phương nằm
ngang hoặc thẳng đứng.
Vertical: dịch chuyển đối tượng theo phương thẳng đứng.
Horizontal: dịch chuyển đối tượng theo phương nằm ngang.
Vị trí của đối tượng được dịch chuyển thông qua tag đã liên kết với nó.
Ví dụ: để gán đăc tính Vertical cho đối tượng, ta làm như sau:
Click vào ô Vertical, hộp thoại sau sẽ xuất hiện:
Trong ô tag name, ta nhập tên tag điều khiển đối tượng( tag kiểu số).
Trong 2 ô At Top, At Bottom( mục Value) ta nhập tầm giá trị của tag.
Trong 2 ô Up, Down( mục Vertical Movement) ta nhập vị trí di động của đối
tượng, 0 là vị trị ban đầu của đối tượng. Khi đó, nếu giá trị của tag thay đổi từ
At Top, At Bottom thì đối tượng di động từ Up đến Down theo phương thẳng
đứng, và ngược lại.
Trong mục Reference Location: ta chọn vị trí ban đầu cho đối tượng khi
chương trình bắt đàu thực thi Top, Middle, Bottom( trên, giữa, dưới)
Nhập xong, click OK để hoàn tất.
1.3.Touch Pushbuttons:
Mục này có 4 thuộc tính, khi gán 1 trong 4 thuộc tính này, đối tượng sẽ
trở thành 1 nút nhấn, khi chương trình thực thi, ta click vào đối tượng, thì
thuộc tính được gán với đối tượng sẽ được thực thi.
Chức năng của các thuộc tính như sau:
Discrete Value: đặc tính này cho phép viết giá trị vào tag( kiểu Discrete) khi
click vào đối tượng. Khi chọn đặc tính này, hộp thoại sau sẽ xuất hiện:
Trong ô Tagname nhập tên của tag muốn liên kết, tag phải thuộc kiểu
Discrete.
Chọn chức năng của đối tượng trong mục Action:
Direct: giá trị của tag bằng 1 khi click chuột.
Reverse: giá trị của tag bằng 0 khi click chuột.
Toggle: đảo giá trị của đối tượng sau mỗi lần click chuột.
Reset: click vào đối tượng thì giá trị của tag bằng 0;
Set: click vào đối tượng thì giá trị của tag bằng 1;
Thiết lập các thuộc tính xong, click OK.
Action: Thuộc tính này cho phép thực thi 1 đoạn chương trình khi click vào
đối tượng. Chọn thuộc tính này thì cửa sổ viết lệnh xuất hiện:
Phần chính là 1 ô text để viết lệnh, các nút bên dưới là các nút tắt, các nút bên
mục Functions là các hàm, ta sử dụng các hàm này khi viết chương trình.
Trong ô Condition Type ta chọn biến cố khi thực thi lệnh. Có 13 biến cố như
sau:
On Left Click/Key Down: thực thi đoạn lệnh 1 lần khi click chuột
trái vào đối tượng.
While Left Click/Key Down: thực thi đoạn lệnh sau mỗi chu kỳ. Khi
chọn biến cố này bên cạnh hộp thoại Condition Type sẽ xuất hiện hộp thoại
Every cho phép nhập chu kỳ thực hiện lệnh.
On Left/Key Up: thực thi đoạn lệnh 1 lần khi nhả chuột.
On Left Double Click: thực thi đoạn lệnh 1 lần khi double click chuột trái.
On Right Click: thực thi đoạn lệnh 1 lần khi click chuột phải.
While Right Down: thực thi đoạn lệnh sau mỗi chu kỳ khi click chuột phải.
Khi chọn biến cố này bên cạnh hộp thoại Condition Type sẽ xuất hiện hộp
thoại Every cho phép nhập chu kỳ thực hiện lệnh.
On Right Up: thực thi đoạn lệnh 1 lần khi nhả chuột phải.
On Right Double Click: thực thi đoạn lệnh 1 lần khi double click chuột phải.
On Center Click: thực thi đoạn lệnh 1 lần khi click nút giữa.
While Center Down: thực thi đoạn lệnh sau mỗi chu kỳ khi click nút giữa.
Khi chọn biến cố này bên cạnh hộp thoại Condition Type sẽ xuất hiện hộp
thoại Every cho phép nhập chu kỳ thực hiện lệnh.
ON Center Up: thực thi đoạn lệnh 1 lần khi nhả nút giữa.
On Center Double Click: thực thi đoạn lệnh 1 lần khi double click nút giữa.
Show Window: Thuộc tính này cho phép hiển thị form khi click vào đối
tượng. Hộp thoại của thuộc tính như sau:
Hộp thoại chứa các form có trong chương trình. Chọn các form mong muốn
rồi nhấp OK, khi chạy chương trình, click vào đối tượng form được chọn sẽ
hiện ra.
Hide Window
Cho phép đóng 1 form khi click vào đối tượng. Việc định dạng tương tự
như Show Window.
1.4.Line Color
Các đặc tính trong mục này cho phép thay đổi màu viền của đối tượng, ta chỉ
sử dụng được mục này khi đối tượng được chọn là loại Fill Shape.
Discrete: đặc tính này cho phép thay đổi màu viền cho đối tượng với 2 mức
màu được quy định:
Trong ô Expression, ta nhập biểu thức muốn liên kết với đối tượng. Biểu
thức này có thể là 1 tag hay 1 hàm của nhiều tag. Kết quả của biểu thức sẽ
được quy về 2 giá trị là 0 hoặc 1. Nếu kết quả biểu thức khác 0 thì giá trị sẽ
được quy về 1, còn nếu bằng 0 thì kết quả sẽ quy về 0. Với mỗi mức giá trị,
đối tượng sẽ có 1 màu viền được chọn trong mục Colors.
Analog: tương tự như đặc tính Discrete, đặc tính Analog cũng cho phép
thay đổi màu viền của đối tượng nhưng với nhiều màu hơn. Hộp thoại định
dạng như sau:
Hình 2.27
Các đặc tính trong mục này cho phép thay đổi màu nền của các đối tượng loại
Fill Shape. Chức năng và việc định dạng các thuộc tính tương tự như trong
mục Line Color.
1.6. Text Color:
Các đặc tính trong mục này cho phép thay đổi màu chữ đối tượng loại Text.
Chức năng và việc định dạng các đặc tính tương tự như trong mục Line Color.
1.7.Object Size:
Mục này có 2 đặc tính là Height và Width cho phép thay đổi kích thước của
đối tượng thep chiều dọc và ngang. Hộp thoại định dạng cho đặc tính Height:
Trong ô Expression, ta nhập biểu thức liên kết với đối tượng. Biểu thức có
thể là 1 tag hay 1 hàm của nhiều tag.
Trong ô Value at Max Height và Value at Min Height ta nhập khoảng
giá trị của kết quả trong biểu thức.
Trong ô Max % Height và Min % Height, ta nhập khoảng thay đổi của
kích thước đối tượng( tính theo đơn vị phần trăm của kích thước ban đầu)
Khi kết quả biểu thức thức thay đổi từ Value at Min Height đến Value at
Max Height thì kích thước của đối tượng sẽ thay đổi( theo chiều dọc) từ Min
% Height đến Max % Height ( giá trị 100% tương ứng với kích thước ban
đầu của đối tượng).
Trong mục Anchor, có 3 option là Top, Middle, Bottle dùng để quy định
kích thước của đối tượng sẽ thay đổi tính từ mép trên, ở giữa hay mép dưới.
Định dạng cho đặc tính Width cũng tương tự như đặc tính Height.
1.8.Location:
Các đặc tính trong mục này cho phép di chuyển đối tượng theo chiều dọc
và chiều ngang tương tự như mục Sliders. Nhưng có 1 số điểm khác:
Các đặc tính trong mục Sliders cho phép ta di chuyển đối tượng( khi chạy
chương trình) theo 2 cách:
1. Thay đổi giá trị của tag liên kết với đối tượng.
2. Dùng chuột rê đối tương.
Các đặc tính trong mục Location chỉ cho phép ta di chuyển đối tượng
bằng cách thay đổi giá trị của tag liên kết với đối tượng, ta không thể dùng
chuột rê đối tượng.
1.9. Percent Fill:
Đặc tính trong mục này cho phép làm đầy đối tượng theo chiều dọc và
chiều ngang. Trong đó:
Vertical: làm đầy đối tượng theo chiều dọc.
Horizontal: làm đầy đối tượng theo chiều ngang.
1.10.Value Display:
Các đặc tính trong mục này cho phép biến đối tượng thành nơi hiển thị nội
dung, giá trị của 1 tag. Ta chỉ sử dụng được các đặc tính trong mục này khi đối
tượng thuộc loại Text. Việc định dạng các đặc tính tương tự như mục User
Inputs.
1.11.Miscellaneous:
Expression: nhập biểu thức. Kết quả biểu thức được quy về mức 1 nếu khác 0
và mức 0 nếu bằng 0. Đối tượng sẽ nhấp nháy nếu kết quả của biểu thức bằng
1.
Blink Speed, chọn tốc độ nhấp nháy là chậm,vừa, hoặc nhanh. Blinked
Attributes: chọn kiểu nhấp nháy.
Blink Invisible: kiểu xuất hiện và biến mất đối tượng.
Blink Visible With these attributes: kiểu thay màu đối tượng. Các màu thay
đổi được xác định ở ô bên dưới.
Orientation: cho phép xoay đối tượng.
Sau khi thiết kế giao diện, ta sẽ viết lệnh để điều khiển hoạt động của các đối
tượng bằng SCRIPTS. Lệnh được thực thi dựa vào các biến cố. Các biến cố
này đườc qui định trong các cửa sổ soạn thảo lệnh. Có nhiều loại cửa sổ soạn
thảo lệnh trong Window Maker tạo sự linh hoạt và tiện dụng hơn cho ngưới
thiết kế.
Cửa sổ Script:
1
2
5
4
Gồm các phần:
1.Toolbars: thanh công cụ.
2.Condition definition area: các loại điều kiện của cửa sổ.
3.Script window: vùng viết lệnh
4.Equivalency and math operator buttons: các nút lệnh và biểu thức toán
học dùng để viết Scripts.
5.Command buttons: các nút điều khiển cửa sổ lệnh
6.Built-in Script function buttons: các hàm xử lý hổ trợ viết Scripts được tạo
sẵn.
I. Ngôn ngữ script trong intouch:
Quy tắc cú pháp cơ bản: Các quy tắc cú pháp cơ bản bao gồm các khía cạnh
của ngôn ngữ script InTouch HMI:
Chương trình con
Câu lệnh
Sự thụt dòng
Lời chú thích
Biến tham chiếu
Giá trị dữ liệu
Giá trị biểu thức
Xác nhận cú pháp
1.Chương trình con:
Không có khái niệm về chương trình con riêng biệt trong cùng một script,
chẳng hạn như "sub" thủ tục trong Visual Basic. Để cấu trúc một đoạn script
thành nhiều chương trình con, bạn phải tạo một tuỳ chỉnh QuickFunction cho
mỗi chương trình con.
2.Câu lệnh:
Một khai báo có thể là một giá trị chỉ định, gọi một chức năng, hoặc một cấu
trúc điều khiển.
Mỗi khai báo trong một script phải kết thúc với một dấu chấm phẩy (;).
Bạn có thể có nhiều khai báo trong cùng một dòng, miễn là mỗi câu kết thúc
bằng dấu chấm phẩy.
Bạn có thể chia ra nhiều phần một khai báo trên nhiều dòng bằng cách
sử dụng ngắt dòng (nhấn Enter).
3.Thụt đầu dòng:
Bạn có thể thụt lề đoạn mã script của bạn theo bất kỳ cách nào. Các thụt lề
không liên quan về chức năng.
4.Lời chú thích:
Để đánh dấu văn bản như là một chú thích, đặt nó bên trong dấu ngoặc {}.Lời
chú thích có thể nối nhiều dòng.
5.Biến tham chiếu:
Có một số cách để làm biến tham chiếu.
Để tham chiếu 1 biến thì biến đó phải được định nghĩa trong Tagname
dictionary địa phương
Để tham chiếu một trường chấm đặc biệt, ta sử dụng định dạng tham chiếu
bình thường trong (Tagname.Dotfield).
Để tham chiếu một mục dữ liệu trên một nút từ xa, sử dụng biến tham chiếu từ
xa (AccessName: Item).
Bạn cũng có thể xác định các biến địa phương có phạm vi là giới hạn các
script hiện hành.
6.Giá trị dữ liệu:
Bạn có thể chỉ định các giá trị số nguyên trong ký hiệu thập phân hoặc hệ thập
lục phân
Ví dụ, 255 hoặc 0xFF.
Bạn có thể chỉ định các giá trị dấu chấm động trong ký hiệu thập phân hoặc
khoa học. Ví dụ, 0,001 hoặc 1E-3.
Để xác định một giá trị Boolean, sử dụng các giá trị số 0 cho FALSE và 1 cho
TRUE.
Để xác định một giá trị chuỗi, đặt nó bên trong dấu ngoặc képđánh dấu.
Ví dụ: "this is string".
7.Giá trị biểu thức:
Giá trị biểu thức có thể bao gồm các giá trị, biến tham chiếu và gọi khối chức
năng, tất cả các liên kết với nhau bởi sự phù hợp của toán hạng.
3. Key Scripts: lệnh trong cửa sổ soạn thảo này được thực thi khi nhấn phím
mặt định trên bàn phím( phím tắt). Có 3 loại:
On Key Down: lệnh được thực thi 1 lần lúc nhấn phím.
While Down: lệnh được thực thi sau mỗi chu kì trong lúc nhấn phím.
On Key Up: lệnh được thực thi 1 lần lúc nhả phím.
4.Condition Scripts: lệnh trong cửa sổ soạn thảo này được thưc thi khi điều
kiện qui định được thỏa.
Điều kiện được viết trong mục condition
Có 4 loại:
On False: lệnh được thực thi 1 lần lúc điều kiện bắt đầu sai.
While False: lệnh được thực thi sau mỗi chu kì trong lúc lệnh còn sai.
On True: lệnh được thực thi 1 lần lúc điều kiện bắt đầu đúng.
While True: lệnh được thực thi sau mỗi chu kì trong lúc lệnh còn đúng.
Data change: lệnh trong cửa sổ soạn thảo này được thưc thi khi Tag
qui định thay đổi giá trị.
ActiveX event scripts: lệnh được thực thi khi một AtiveX event Scripts
xuất hiện, hay đang click ActiveX control.
Để mở các cửa sổ trên, ta di chuyển chuột đến cửa sổ Scripts và double
click vào cửa sổ cần mở.
III. Gọi các chức năng:
1. Gọi các chức năng chuẩn:
Các chức năng tiêu chuẩn được xác định trước với InTouch HMI.
Cú pháp cho gọi các chức năng chuẩn: Để gọi một chức năng mà không
trả lại kết quả: Chỉ sử dụng tên hàm (và các thông số, nếu có) trong một khai
báo.
Ví dụ: FunctionName (tham số);
Để gọi một chức năng mà đòi hỏi kết quả của nó đã được gán:Sử dụng
các tên hàm (và các thông số, nếu có) ở bất cứ đâu trong một script, nơi bạn có
thể sử dụng một giá trị hoặc một tagname của các loại dữ liệu có liên quan.
Ví dụ, trong mộtgiá trị chỉ định:
ResultsTagname = FunctionName (tham số);
Hoặc trong gọi chức năng lồng nhau, sử dụng nó như một tham số cho một
chức năng:
OtherFunction (FunctionName (Tham số));
Chuyển các tham số đến một chức năng:
Các thông số chức năng tiêu chuẩn được xác định trước thường thông
qua giá trị. Điều này có nghĩa rằng bạn có thể chuyển bất kỳ biều thức hợp lệ
biểu hiện như một tham số, miễn là biểu thức đánh giá các loại dữ liệu được
yêu cầu cho tham số. Biểu thức như vậy có thể bao gồm các giá trị thật, biến
tham chiếu,và gọi các chức năng, tất cả các liên kết với nhau bởi toán hạng
phù hợp.
Khi một script gọi các chức năng, biểu thức thường đánh giá kết quả và giá trị
truyền cho hàm.Tuy nhiên, có một số chức năng mà yêu cầu biến tham chiếu
như một tham số.
Ví dụ: RecipeSelectRecipe (Tên, RecipeName, số);
Trong ví dụ này, tham số RecipeName phải là một biến tham chiếu (có nghĩa
là, bạn phải sử dụng một tagname thật cho RecipeName tham số. Bạn không
thể chuyển một biểu thức chuỗi vào đó, ngay cả khi biểu thức đánh giá một
tagname hợp lệ.
2. Gọi tính năng khác (QuickFunctions):
Gọi một QuickFunction tùy chỉnh khác biệt chút ít so với gọi các chức
năng chuẩn:
Từ khóa gọi phải trước tên QuickFunctions
Kết quả trả về bởi QuickFunctions là không bắt buộc,bạn có thể sử
dụng chúng.
Để gọi một QuickFunction mà không trả lại kết quả: Sử dụng các tên hàm (và
các thông số, nếu có) trước bằng cách gọi từ khóa trong câu lệnh.
Ví dụ: CALL QuickFunctionName(Parameters);
Để gọi một QuickFunction mà trả về một kết quả:
Làm một trong hai điều sau đây:
Gọi QuickFunction như thể nó không trả về một kết quả
Sử dụng tên hàm (và các thông số, nếu có) trước bằng cách các gọi từ khóa bất
cứ nơi nào trong một script nơi bạn có thể sử dụng một giá trị thật hay
tagname một các loại dữ liệu liên quan.
Ví dụ, trong một giá trị khai báo: ResultsTagname = CALL
QuickFunctionName(Parameters);.
Hoặc trong gọi các chức năng lồng nhau, sử dụng nó như một tham số cho
một chức năng tiêu chuẩn: OtherFunction (GỌI FunctionName (Tham số));
Lưu ý: Bạn không thể gọi tổ hợp QuickFunction để cho một QuickFunction
được sử dụng như một tham số cho QuickFunction khác.
Ví dụ,Gọi QF1 (Call QF2 ()); không hợp lệ.
3. Chuyển các tham số đến một QuickFunction:
Các thông số từ QuickFunctions luôn luôn thông qua bởi giá trị. Bạn
không thể chuyển các thông số đến QuickFunctions theo tham chiếu. Bạn có
thể chuyển bất kỳ biểu thức hợp lệ như một tham số, miễn là định lượng biểu
thức đến các loại dữ liệu mà là cần thiết cho các tham số. Biểu thức như vậy có
thể bao gồm các giá trị thật, biến tham chiếu, và các gọi chức năng, tất cả các
liên kết với nhau bởi toán hạng phù hợp .
4. Giá trị chỉ định và toán hạng:
Trong script, bạn sử dụng giá trị chỉ định để viết giá trị cho một biến.
Cú pháp cho một giá trị chỉ định là như sau:
Tagname = ValueExpression;
Khi khai báo này được thực thi, ValueExpression được viết bằng biến
đề cập đến bởi Tagname. ValueExpression có thể là bất kỳ biểu thức hợp lệ có
kiểu dữ liệu phù hợp với biến kiểu dữ liệu. Giá trị biểu thức có thể bao gồm
các giá trị thật, biến tham chiếu, và các gọi chức năng, tất cả các liên kết với
nhau bằng cách phù hợp bởi nhà điều khiển.
5.Hỗ trợ của tóan hạng:
Bảng sau đây liệt kê tất cả các hỗ trợ của các toán hạng.
Lưu ý: Đối với các phép tính số, luôn luôn chọn các toán hạng để kết
quả của phép tính vẫn còn trong phạm vi giá trị của một số thực. Nếu không,
kết quả sẽ không chính xác.
a. Cộng hoặc nối: “+”
Thêm hai toán hạng số hoặc nối hai chuỗi toán hạng.
Toán hạng hợp lệ:
Đối với cộng: Bất kỳ giá trị integer hoặc real.
Đối với nối: Bất kỳ giá trị string.
Lọa dữ liệu của giá trị trả về:
Đối với cộng: integer hoặc real.
Đối với nối: string.
Ví dụ:
MessageTag = "Setpoint value: " + Text(SetpointTag, "#.##");
Nếu bạn cố gắng để chia cho 0 ở thời gian chạy thì 0 là kết quả được trả về.
Toán hạng hợp lệ: Bất kỳ giá trị Integer hoặc Real.
Dữ liệu loại giá trị trả về: Integer hoặc Real.
h. Bitwise OR:
So sánh sự biểu diễn nhị phân của hai số nguyên,bit cho các bit, và trả
về một kết quả theo sau đây bảng:
m. Logic: AND
Trả về TRUE nếu cả hai toán hạng discrete là TRUE,ngược lại thì trả
về FALSE.
6. Cấu trúc phân nhánh khi sử dụng chương trình có điều kiện:
Bạn có thể điều khiển linh hoạt các hướng thực thi của một scrip dựa
trên điều kiện nhất định được đáp ứng. Các InTouch HMI hỗ trợ cấu trúc
điều khiển IF-THEN-ELSE cho mục đích này.
6.1. Cú pháp cơ bản cho một cấu trúc điều khiển IF-THEN-ELSE
là như sau:
Cú pháp:
IF điều kiện THEN
... khai báo và / hoặc thêm cẩu trúc IF-THEN-ELSE
ELSE
... báo cáo và / hoặc thêm một IF-THEN-ELSE
Endif;
6.2. Hãy nhớ các quy tắc sau đây khi làm việc với cẩu trúc IF-
THEN-ELSE :
•Cấu trúc IF-THEN-ELSE có thể được lồng nhau, giữa phần THEN và
trong phần ELSE.
• Đối với mỗi khai báo IF, phải có một ENDIF đóng cửa khai báo. Một
khai báo ENDIF luôn luôn áp dụng cho khai báo lồng IF gần nhất.
• Điều kiện phải là một biểu thức discrete hợp lệ. các phần THEN được
thực hiện nếu điều kiện là TRUE. các ELSE là phần được thực hiện nếu điều
kiện là FALSE.
• Phần ELSE là tùy chọn.
• Một số ngôn ngữ lập trình khác cho phép bạn kiểm tra nhiều điều kiện
trên cùng một hệ thống phân cấp mức độ của một cấu trúc IF-THEN-ELSE và
có một phần chung ELSE phần đó được thực thi nếu các điều kiện để đánh
giá là FALSE. Điều này là không cho phép trong các InTouch HMI. Đối với
mọi điều kiện để kiểm tra, bạn phải mở một cấu trúc IF-THEN-ELSE mới. Vì
vậy, để có một phần đơn
của đoạn mã để thực hiện như mã ELSE cho tất cả các điều kiện, bạn phải đặt
nó trong phần ELSE của cầu trúc IF-THEN-ELSE cấu trúc ở cấp độ lồng
cuối.
6.3. Cấu trúc đơn giản điều kiện:
Các scrip sau đây cho thấy một cấu trúc đơn giản điều kiện. Nếu
SuccessTag là TRUE, cửa sổ "Success" mở ra, ngược lại thì cửa sổ "Failure"
sẽ mở ra.
IF SuccessTag == 1 THEN
Show "Success";
ELSE
Show "Failure";
Endif;
6.4. Cấu trúc lồng nhau có điều kiện:
Các script sau đây cho thấy làm thế nào để kiểm tra nhiều điều kiện và
có một phần chung ELSE với đoạn mã được thực thi nếu không có điều kiện
nào thõa mãn
IF ChoiceTag == 1 THEN
Show "Procedure 1";
ELSE
IF ChoiceTag == 2 THEN
Show "Procedure 2";
ELSE
IF ChoiceTag == 3 THEN
Show "Procedure 3";
ELSE
Show "Default Procedure";
ENDIF;
ENDIF;
ENDIF;.
Ví dụ Scripting không hợp lệ (Thiếu ENDIF):
Nếu bạn đã quen thuộc với Visual Basic, bạn có thể thử viết một khai
báo IF đơn giản như thế này:IF OpenThisWindow = = 1 THEN Show "This
Window";
Điều này không làm việc trong InTouch HMI. Đối với mỗi khai báo IF,
phải có một khai báo đóng cửa ENDIF.
Ví dụ Script không hợp lệ (lồng không đúng)
Nếu bạn đã quen thuộc với ngôn ngữ như Visual Basic, bạn có thể
muốn viết một cấu trúc có điều kiện với nhiều điều kiện và điều kiện mặc định
như thế này:
IF ChoiceTag == 1 THEN
Show "Procedure 1";
ELSE IF ChoiceTag == 2 THEN
Show "Procedure 2";
ELSE IF ChoiceTag == 3 THEN
Show "Procedure 3";
ELSE
Show "Default Procedure";
ENDIF;
Điều này không làm việc trong InTouch HMI. Mỗi IF sẽ mở ra một mức độ
lồng mới và phải có một khai báo ENDIF tương ứng.
7. Sử dụng chương trình vòng lăp (loop):
Các vòng lặp cho phép bạn thực hiện một phần của đoạn mã liên tục.
Các InTouch HMI chỉ hỗ trợ đối với các vòng lặp FOR. Một vòng lặp FOR
hoạt động bằng cách giám sát giá trị của một biến số đó là vòng lặp tăng lên
hoặc giảm đi với mỗi lần lặp vòng. các
vòng lặp được thực thi cho đến khi giá trị của biến vòng lặp đạt đến một giới
hạn.
Cú pháp: FOR LoopTag = StartExpression TO EndExpression
[STEPChangeExpression]
... statements or another FOR loop ...;
NEXT;
Cảnh báo vòng lặp thực thi ảnh hưởng khác đến thời gian chạy quy trình,
đối vớinhiều thông tin hơn, xem ảnh hưởng của vòng lặp trên các Run-Time
7.2.1Câu lệnh bắt buộc kết thúc một vòng lặp:
Bạn có thể thoát khỏi một vòng lặp bất cứ lúc nào bằng cách gọi câu
lệnh sau đây:
EXIT FOR;câu lệnh này gây ra script thực thi để tiếp tục thực thi câu lệnh
ngay sau vòng lặp NEXT khai báo.
Ví dụ : FOR Counter = 1 TO 1000
ResultCode = SQLInsert(ConnectionID, "BatchDetails", "BindList1");
IF ResultCode <> 0 THEN,
LogMessage("Error creating records! Aborting...");
EXIT FOR;
ENDIF;
NEXT;
7.2.2Ảnh hưởng của vòng lặp trên các quy trình Run-Time khác:
Trong khi một vòng lặp FOR được thực thi, tất cả các thời gian chạy
các quá trình khác trong WindowViewer là dừng lại. Điều này bao gồm các
khu vực sau:
Màn hình cập nhật (liên kết hình ảnh động, hiển thị giá trị, biểu đồ,…).
Điều này có nghĩa rằng bạn không thể sử dụng đối với các vòng lặp để đối
tượng sinh động, bởi vì không có hành động nào sẽ xảy ra cho đến sau khi
vòng lặp đã hoàn thành.
Các I / O truyền đạt. Ví dụ, nếu bạn thay đổi giá trị của một biến I / O
trong một vòng lặp FOR, chỉ có giá trị sau khi vòng lặp cuối cùng được ghi
vào thiết bị I / O.
Các script khác, bao gồm cả QuickFunctions không đồng bộ.
Bạn có thể tránh tạm dừng thời gian chạy các quy trình khác bằng cách đặt
vòng lặp FOR trong một QuickFunction không đồng bộ.
7.2.3Thời gian giới hạn thực thi vòng lặp:
Để tránh vòng lặp vô hạn, có một giới hạn thời gian mà vòng lặp FOR
phải thực thi hoàn thành. Nếu một vòng lặp không thực thi hoàn thành sau thời
gian này thì WindowViewer tự động kết thúc nó và viết viết một thông điệp
về việc chấm dứt đến Log Viewer.Thời gian mặc định là 5 giây. Bạn có thể tùy
chỉnh nó bằng thêm dòng sau vào file intouch.ini trong tập tin ứng dụng của
bạn.
LoopTimeout = x
Thay thế x với thời hạn giới hạn trong vài giây.
Lưu ý: Thời hạn được kiểm tra chỉ ở câu lệnh NEXT của vòng lặp. Do đó,
phần lặp đầu tiên của vòng lặp là luôn luôn được thực thi, thậm chí nếu phải
mất lâu hơn thời hạn giới hạn.
Ví dụ về các vòng lặp:
Các script sau đây sử dụng một vòng lặp đơn giản và một biến gián tiếp
để
khởi tạo lại biến 100 (Tag001 để Tag100) với giá trị 0.
DIM Counter AS INTEGER;
FOR Counter = 1 TO 100
IndirectInteger.Name = "Tag" + Text(Counter, "000");
IndirectInteger.Value = 0;
NEXT;
8. Sử dụng biến địa phương:
Bạn có thể khai báo các biến địa phương trong một script để lưu trữ tạm
thời hoặc các kết quả trung gian. Điều này làm tăng hiệu suất và làm giảm biến
đếm của bạn. Bạn có thể sử dụng các biến địa phương giống như tên biến
trong script của bạn. Tuy nhiên, có một số sự khác biệt:
Các biến địa phương chỉ tồn tại trong phạm vi của script mà chúng
được khai báo.Nó mất đi giá trị của nó khi script thực hiện xong. Nó không
thể được tham chiếu bởi bất kỳ script khác trong ứng dụng của bạn.
Các biến địa phương không có dotfields.
Các biến địa phương không được tính vào số lượng biến thật.
Trước khi bạn có thể sử dụng một biến địa phương trong một script, bạn phải
khai báo, nếu không, tham chiếu được xem là một tagname.
8.1Khai báo một biến địa phương:
Bạn có thể khai báo các biến địa phương bất cứ nơi nào trong kịch bản
của bạn, miễn là bạn khai báo nó đầu tiên trước khi sử dụng. Để khai báo một
biến địa phương, sử dụng câu lệnh sau:
DIM LocVarName [AS DataType];
LocVarName: là tên của biến địa phương. Tên phảithực hiện theo các quy
ước đặt tên cho tagnames.
DataType: là kiểu dữ liệu của các biến địa phương. Giá trị hợp lệ là Discrete,
Integer, Real, and Message. Nếu bạn khôngchỉ định tùy chọn này, Integer
được sử dụng như mặc định. Bạn phải sử dụng một khai báo riêng biệt cho
từng biến địa phương DIM
Bạn có thể khai báo bất kỳ số lượng các biến địa phương. Con số này được chỉ
giới hạn bởi bộ nhớ có sẵn.
8.2Xung đột giữa việc đặt tên biến địa phương và biến thật:
Bạn có thể khai báo một biến địa phương có cùng tên như là một biến
hiện có. Tuy nhiên, khi bạn tham chiếu tên đó trong một script, các biến địa
phương luôn luôn ưu tiên hơn các biến thật. Ví dụ, giả sử bạn có một biến hiện
có là Integer được gọi là "iTag", và bạn chạy script sau đây:
DIM iTag As Integer;
iTag = 20;
Trong script này, các giá trị chỉ định chỉ ghi một giá trị cho các biến địa
phương. Giá trị của biến hiện có cùng tên vẫn không thay đổi.
9. Các hàm chức năng có sẵn trong intouch:
Các chức năng được cài sẵn
Chức năng InTouch QuickScript cho phép bạn thực hiện các lệnh và
các thao tác hợp lý dựa trên tiêu chuẩn quy định được thõa mãn. Bạn có thể sử
dụng chức năng QuickScript bởi chính chúng và họ đã thực hiện bất cứ khi
nào một điều kiện nhất định được thõa mãn hoặc sử dụng chúng trong các liên
kết hiển thị hình ảnh động. Cập nhật bắt buộc trong trong Liên kết hiển thị
hoạt cảnh.
Nếu bạn sử dụng QuickScripts trong các liên kết hình ảnh động, các liên kết
hình ảnh động được cập nhật nếu chỉ có một biến có liên quan đến chúng. Biến
này hoạt động như một kích hoạt bất cứ khi có sự thay đổi giá trị của nó. Một
sự lựa chọn tốt là sử dụng $ second hoặc $ Minute hệ thống biến để cập nhật
hình ảnh động liên kết.
Để bắt buộc một bản cập nhật trong một liên kết hiển thị hình ảnh động
1 Mở liên kết hình ảnh động trong cửa sổ thuộc tính đối tượng.
2 Thêm một biến kích hoạt (ví dụ $ second) cho tính toán.
Các tính toán toán học
Các InTouch HMI hỗ trợ chức năng cơ bản toán học mà bạn có thể sử dụng
trong chương trình và trong các liên kết hình ảnh động, chẳng hạn như chức
năng:
Làm tròn và cắt bỏ số.
Tính sin và cosin.
Tính toán logarit và số mũ.
Tính căn bậc hai.
Làm tròn, cắt xén, và xác định dấu:
Trong một script, bạn có thể sử dụng các chức năng sau để làm tròn
con số, cắt xén số, và xác định dấu củasố:
Để sử dụng
Abs () Tính tuyệt đối của một giá trị hoặc biểu thức.
Int () Tính toán số nguyên của một giá trị hoặc biểu thức.
Round() làm tròn một giá trị hoặc biểu thức.
SGN () Xác định các dấu (-, +, không có) của một giá trị hoặc biểu
thức.
Hàm TRUNC () Trả về tiền tố là thập phân của một giá trị hoặc biểu
thức.
abs () Chức năng:
Trả về giá trị tuyệt đối của một số quy định. bạn có thể
sử dụng để chuyển đổi một số âm đến một số dương.
Cú pháp: kết quả = Abs (số)
Tham số: Một số thật, tagname tương tự, hoặc biểu thức số.
Ví dụ (s):
Abs (14) trả về 14.
Abs (-7,5) trả 7,5
Int ():
Trả về số nguyên nhỏ hơn (hoặc bằng) một chỉ định số.
Cú pháp: kết quả = Int (số)
Tham số:Một số thật, tagname tương tự, hoặc biểu thức số.
Ví dụ (s)
Int (4.7) trả về 4.
Int (-4,7) trả về -5.
Lưu ý: Đối với con số thực âm, chức năng này trả về một số nguyên
này nhỏ hơn số lượng quy định. Ví dụ, Int (-4,7)
không phải là -4, nhưng -5. Để có một phần số nguyên trở về, sử dụng
Hàm TRUNC () chức năng. Xem TRUNC () chức năng trên trang 78.
round ():
Làm tròn một số với một độ chính xác quy định. Kết quả là một số thực
Cú pháp: kết quả = Round (số, độ chính xác)
Tham số: Một số thật, tagname tương tự, hoặc biểu thức số.
Độ chính xác: Độ chính xác mà số được làm tròn. Có thể là một
số thật, tagname tương tự, hoặc biểu thức số.
Ví dụ (s)
round (4.3, 1) trả về 4.
round (4.3, 0,01) trả về 4,30.
round (4.5, 1) trả về 5.
round (-4,5, 1) trả về -4.
round (106, 5) trả về 105.
round (43,7, 0,5) trả về 43,5.
Sgn ():
Trả về dấu của một số. Sử dụng nó để xác định xem một
số , tagname, hoặc biểu thức là âm, dương, hoặc bằng không.
Cú pháp: kết quả = Sgn (số)
Tham số:Một số thật, tagname tương tự, hoặc biểu thức số.
Ví dụ (s):
SGN (425) trả về 1.
SGN (0) trả về 0.
SGN (-37,3) trả về -1.
Hàm TRUNC ():
Trả về giá trị cắt ngắn của một số. Việc cắt xén giá trị là lấy phần trước dấu
thập phân. - - Sử dụng nó để làm việc với một phần số nguyên của một số
thực.
Cú pháp: kết quả = TRUNC (số)
Tham số:Một số thật, tagname tương tự, hoặc biểu thức số.
Ví dụ (s)
TRUNC (4.3) trả về 4.
TRUNC (-4,3) trả về -4.
Lưu ý: Bạn cũng có thể sử dụng chức năng này để làm việc với các phân đoạn
một phần của một số. Để trở về các phần phân đoạn của một quy định
số sử dụng hàm TRUNC () chức năng như sau:
kết quả = số - hàm TRUNC (số);
Chiều dài:số ký tự trả lại. Một số thật, tagname số thực, hoặc biểu
thức số.
Ví dụ (s)
StringLeft ("Xin chào thế giới", 5) trả về "Hello".
StringLeft ("Xin chào thế giới", 20) trả về "Xin chào thế giới".
StringLeft ("Xin chào thế giới", 0) trả về "Xin chào thế giới".
Chú ý: Nếu bạn đặt giá trị 0 là chiều dài thì chức năng StringLeft ()
sẽ trả
toàn bộ chuỗi sau khi vị trí bắt đầu.
Các thuộc tính:property:Các thuộc tính số nguyên của wizard được đọc về.
Controlname: có thể là một giá trị chuỗi, tagname tin nhắn, hoặc biểu thức
chuỗi.
Itag:Các tagname số nguyên mà sẽ nhận các giá trị số nguyên.
Giá trị trả về:Một mã lỗi số nguyên.
Chương này sẽ giúp các thiết lập báo cáo chi tiết về một đối tượng và báo sự
cố hay có một sự thay đổi nào đó của đối tượng trong lúc vận hành.
Alarm Logging đảm trách về các thông báo nhận được và lưu trữ. Nó chứa các
chức năng để nhận các thông báo từ các quá trình để chuẩn bị hiển thị, hồi đáp
và lưu trữ chúng. Với đặc tính này Alarm logging sẽ giúp tìm ra nguyên nhân
lỗi.
Hệ thống Alarm có các đặt tính sau:
+ Cung cấp các thông tin về lỗi và trạng thái hoạt động toàn diện.
+ Cho phép sớm nhận ra các tình trạng nguy cấp
+ Tránh và giảm thiểu thông báo
+ Chất lượng sản phẩm ngày càng tăng
I. Cách thiết lập thuộc tính Alarm
Trước tiên chúng ta đặt thuộc tính Alarm cho biến đã tạo như đã giới thiệu ở
trên ta di chuyển chuột đến cửa sổ Tool/ tagname dictionary/ click phải
chuột/open
Chọn loại Alarm ( LoLo, Low, HiHi, High) mà bạn muốn sử dụng khi
tagname vượt quá giá trị định mức
Low,LoLo: khi giá trị nhỏ hơn giá trị đặt thì cảnh báo nhưng nếu sử dụng cả 2
thì giá trị LoLo sẽ nhỏ hơn giá trị Low.
Tương tự High, HiHi: khi giá trị cao hơn giá trị đặt thì cảnh báo.
Alrm Value các giá trị tới hạn của Alarm
Priority: quyền ưu tiên có giá trị từ 0 đến 999
Click close để lưu.
Để hiển thị được Alarm ta phải vào Wizard chọn Alarm Dislays sau đó lấy ra
cửa sổ tạo giao diện
Để đặt thuộc tính cho Alarm displays ta double click vào đối tượng ở giao diện
ta có cửa sổ Alarm Configurstion
Number of Major Div: chọn số khoảng chia chính trên trục thời gian, chọn
màu cho đường chia ô bên cạnh.
Minor Div/ Major Div: chọn số khoảng chia phụ trên mỗi khoảng chính.
Có thể chọn Top Labels hoặc Bottom Labels: tương ứng với giá trị thời gian
được hiển thị bên trên hay bên dưới của trục thời gian.
Major Div/Time Label: chọn số khoảng chia giá trị thời gian.
HH:MM:SS Display: chọn đơn vị cho trục thời gian.
Việc định dạng cho trục giá trị tương tự như trục thời gian.
Min Value, Max Value : nhập khoảng giá trị của tag
Trong 1 Real time trend ta có thể hiển thị giá trị của 4 tag khác nhau.
Nhập tên các tag cần hiển thị vào ô 1, 2, 3, 4 và chọn màu, độ rộng vào
ô bên cạnh. Xong, nhấn OK.
CHƯƠNG 5: KẾT NỐI THIẾT BỊ I/O (I/O COMMUNICATION)
Để dùng giao thức kết nối này chúng ta thực hiện các bước sau:
Ta cần có giao thức Microsoft TCP/IP.
Ta phải có tên máy tính không quá 15 kí tự.
Wonderware Suitelink phải chạy như một dịch vụ. Nếu vì một lí do nào đó mà
Suitelink bị dừng, ta sẽ phải khởi động lại từ đầu.
Để bắt đầu dùng Suitelink, ta vào Service của Window Control Panel. Xuất
hiện hộp thoại:
InTouch xác định một phần tử của dữ liệu trong một chương trình máy
chủ I/O bởi một tên định ngầm thành phần thứ 3 bao gồm application name,
topic name và item name. Để lấy được dữ liệu từ một ứng dụng khác chương
trình máy con mở một kênh cho chương trình máy chủ bởi sự chỉ rõ 3 thành
phần này.
Để cho InTouch có thể lây dữ liệu từ một ứng dụng khác, nó phải biết
được tên của ứng dụng cung cấp dữ liệu, tên topic của ứng dụng mà có chứa
dữ liệu và tên của item đặc biệt bao gồm topic. Thêm vào đó InTouch cần biết
kiểu của dữ liệu. Thông tin này xác định kiểu I/O cho tagname khi nó được
xác định trong cơ sở dữ liệu của InTouch. Khi WindowViewer đang chạy nó
sẽ tự động hoạt động tất cả các hành động khác cần truy cập để thu thập và
duy trì giá trị của item này.
1.3 Địa chỉ I/O InTouch.
Khi một ứng dụng khác cần một giá trị dữ lieu từ InTouch nó cũng có thể biết
địa chỉ I/O item thứ ba, Những điều sau đây mô tả một địa chỉ I/O hiểu ngầm
cho InTouch:
View (application name): nhận biết chương trình InTouch đang thực hiện mà
có chứa thành phần dữ liệu.
Tagname (topic name): là từ luôn được sử dụng khi đọc ghi từ cơ sở dữ liệu
của InTouch.
Actualtagname (item name): là một tagname thực được xác định cho một item
trong InTouch Tagname Dictionary.
1.4Tên truy cập InTouch.
Khi ta tạo một tagname I/O hoặc tagname tham chiếu từ xa, cần có một Access
Name. Access Name chứa thông tin mà được dùng để kết nối với nguồn dữ
liệu I/O khác bao gồm tên node, tên dứng dụng và tên topic.
Để tạo một tên truy cập ta thực hiện như sau:
Vào Special menu, chọn Access Name. Xuất hiện hộp thoại sau:
Thiết lập như hình sau đó click next để tiếp tục cài đặt:
Click next để tiếp tục cài đặt:
Để tạo 1 file kết nối ta vào File/New hay chọn biểu tượng trên thanh công
cụ.
Ta nhấp chuột vào click to add a channel để vào cửa sổ New channel –
Identification đây là cửa sổ khởi tạo tên ứng dụng của mình.
Ta đặt tên ứng dụng vào Channel name ở đây ta đặt là Ketnoi sau đó click
next để tiếp tục quá trình thiết lập:
Xuất hiện cửa sổ New channel – Device Driver ở cửa sổ này ta thiết lập tên
thiết bị phần cứng kết nối bên ngoài. Ở đây ta chọn là PLC của hãng
Mitsubishi và giao tiếp qua cổng nối tiếp nên ta chọn Device driver là
Mitsubishi Serial sau đó click Next
Ở cửa sổ New channel – Communications ta sẽ thiết lập kiểu giao tiếp
ID: cổng kết nối
Baud rate: tốc độ truyền
Data bits: số bit truyền
Parity: kiểm tra chẵn lẽ
Stop bits: số bit dừng
Ta cấu hình như hình trên rồi click Next để tiếp tục quá trình thiết lập.
Ở cửa sổ New channel – Write Optimizations ta thiết lập thời gian cập nhật
dữ liệu từ thiết bị bên ngoài. Ta thiết lập như hình sau đó click Next
Cửa sổ các dữ liệu đã thiết lập New channel – Summary ta chọn Finish để
kết thúc quá trình thiết lập.
Trong cửa sổ New Device – Model ta chọn loại thiết bị ma ta sử dụng cần phải
đúng với thực tế trong mục Device model ở đây ta chọn ở đây ta chọn PLC họ
Q nên ta chọn Q Series click next để tiếp tục
Trong cửa sổ New Device – ID đây là cửa sổ chọn kiểu dữ liệu truyền về mặc
định như hình là kiểu số thập phân click next để tiếp tục.
Trong cửa sổ New Device – Timing đây là cửa sổ thời gian dữ liệu truyền về
mặc định như hình click next để tiếp tục.
Nhấn next cho đến khi gặp cửa sổ New Device – Summary click Finish để
hoàn tất quá trình thiết lập cho thiết bị( New Device). Ta có cửa sổ sau:
Để tạo biến kết nối với PLC và Wonderware ta nhấp phải chuột trong cửa sổ
Tagname chọn New ta có cửa sổ sau:
Đây là cửa sổ thiết lập biến gián tiếp kết nối giữa PLC với phần mềm
Wonderware.
Name: tên biến
Address: Địa chỉ biến trên PLC là địa chỉ vùng nhớ của PLC tùy từng loại PLC
mà có cách định địa chỉ khác nhau. Khi ta định địa chỉ sai thì phần mềm sẽ
hiển thị File help để ta tìm hiểu.
Data properties: vùng thiết lập kiểu dữ liệu, cách thức kết nối, tốc độ quét.
Sau khi tạo xong nhấp ok để hoàn tất.
Ta tạo 1 biến với tên là Tag1 vì lúc nảy ta thiết lập là dùng PLC họ Q của
Mitsubishi nên địa chỉ biến phải theo loại PLC đó để biết ta vào Start/
programs/wonderware/Kepserver for Wonderware/ Help Documentation
sau đó chọn PLC mà mình sử dụng thì File Help hiện ra ta vào Address
Description để xem.
Sau đó tạo và gan biến như file hướng dẫn.
Để vào mục Option trong OPC Kepserver: Ta vào Tools/option như hình:
Ta có cửa sổ sau ta cần lưu ý mục FastDDE/SuiteLink Ta cần điền mục
Application name trong Intouch giống như mục Application name như trong
hình:
Note:
Với Topic name là tên của thiết bị được khai báo trong Alias name
Còn Application Name là được chọn như sau:
+Với nối mạng thì chúng ta chọn suitelink và servermain.
+nối trực tiếp thì chúng ta chọn DDE và keepdde
….vv
Khi khởi tạo tag name trong Intouch để kết nối chúng ta chọn tên trong item
trùng tên với tên của tag name trong kepserver
Lưu ý: Mục Item trong Tagname Dictionary Intouch phải có tên trùng với
mục Name trong Tag properties của phần mềm OPC thì mới liên kết được.
Như thế là chúng ta đã kết nối được Intouch với các thiết bị của hãng
khác qua phần mềm trung gian Kepserver ( một OPC server trung gian)
Trường hợp một số giao thức kết nối trong Kepserver không hổ trợ ta
phải dùng phần mềm OPC khác. Như phần mềm Kepserver khi kết nối với
PLC không hổ trợ kết nối qua cổng USB để kết nối được ta dùng phần mềm
OPC khác tên là DeviceXPlorer OPC Server
Ta chọn như hình sau đó click OK để thực hiện quá trình cài đặt
Click Intall để thực hiện cài đặt OPC ta có cửa sổ sau:
Ta chọn Yes để cài bản demo chỉ dùng được 1 khoảng thời gian phải khởi
động lại
Ta có cửa sổ sau:
Đây là cửa sổ chọn những dòng PLC mà phần mềm hổ trợ ta chọn tất cả sau
đó click next và chờ quá trình cài đặt hoàn tất.
4.2 Kết nối với I/O qua phần mềm DeviceXPlorer OPC Server
Sau khi cài đặt xong để khởi động phần mềm ta thao tác:
Vào Start/Programs/DeviceXPlorer OPC Server/ DeviceXPlorer OPC
Server
Để kết nối với PLC ta phải tạo một File ứng dụng để quản lý tất cả các biến
cần kết nối, thiết lập cấu hình PLC cho File OPC.
Để tạo file mới ta chọn biểu tượng:
Hoặc click phải chuột vào cửa sổ Project Explorer/chọn Insert/ Project
Wizard…
Ta chọn loại PLC mà mình sử dụng đây ta chọn loại PLC của Mitsubishi sau
đó click next ta có cửa sổ sau:
Ở cửa sổ này ta chọn giao thức kết nối của loại PLC đó ở đây ta chọn
MELSEC EZSocket kết nối truyền thông qua cáp nạp sau đó click next
Ta dùng phần mềm Gx developer để lập trình và chạy mô phỏng nên ta chọn
như trên.
Sau đó click Finish ta được cửa sổ sau:
Để tạo biến liên kết với PLC chọn mục Tag trên cửa sổ sau đó chọn biểu
Vì lúc đầu ta chọn loại PLC là của Mitsu nên ngõ vào ra cũng giống PLC
mitsu:
Tag name: là tên biến cần kết nối với PLC ta tùy đặt.
Description: ta viết ghi chú vào để hiểu rõ thêm về biến đó, không viết cũng
được.
Device Type: Tên biến mà ta muốn giám sát ở PLC( X ,Y, D, M)
Device NO. : giá trị của biến đó (0,1,2…)
Data Type: loại dữ liệu của biến mà ta cần liên kết( Bool, Byte, Ubyte, Short,
Ushort…)
Attribute: cách thức ta cập nhật dữ liệu
+ Read/Write: đọc và ghi dữ liệu đến PLC
+ Read Only: chỉ đọc dữ liệu từ PLC về
+ Write Only: chỉ ghi dữ liệu xuống PLC
Caculation: cách tính toán dữ liệu ( Hex, Dec, Binary…)
Sau khi điền đầy đủ thông tin ta click finish để hoàn tất
Để tạo thêm biến ta làm tương tự
Tab Device: kiểm tra kết nối PLC với OPC ta click vào Connection Test
Tab Port: ở tab này ta có thể thay đổi loại PLC trong mục PLC Type theo đúng
phần cứng thực tế
Sau khi thiết lập xong để mô phỏng ta chọn biểu tượng để tắt mô phỏng
ta làm tương tự.
PHẦN II: MỘT SỐ BÀI TẬP THỰC HÀNH
Trong các chương trước chúng ta đã tìm hiểu phần lý thuyết Intouch. Phần
sau, hướng dẫn thực hành với phiên bản Intouch 10.1. Về mặt kỹ thuật nếu
máy bạn dùng phiên bản Intouch 10.1, hay Intouch 9.5 không có sự khác biệt
nhiều về giao diện.Phần này sẽ giúp các bạn làm quen với các thao tác cơ bản
như: khởi động chương trình, tạo 1 ứng dụng mới, thao tác trên các thanh công
cụ của chương trình, cách thiết lập biến, tạo liên kết các đối tượng, chạy mô
phỏng, kết nối biến I/O qua các phần mềm OPC .
BÀI 1: THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN ĐỘNG CƠ VÀ BỒN
NƯỚC
Yêu cầu: Thiết lập giao diện điều khiển động cơ và bồn nước như sau:
Khi nhấn Start thì động cơ hoạt động, đèn star sáng. Hiển thị giá trị mực nước
hiện tại trong bồn.
Khi nhấn Stop thì động cơ ngưng hoạt động. Và không cho phép nhập giá trị
mực nước trong bồn.
Các bước thực hiện như sau:
Trước tiên ta thiết kế giao diện động cơ và bồn nước:
Khởi động chương trình bằng cách: nhấp chuột vào
Start/Program/Wonderware/Intouch
Biểu tượng Intouch xuất hiện và cho biết chương trình đang khởi động.
Sau đó cửa sổ Intouch application manager hiện lên, đây là nơi chứa các ứng
dụng đã tạo lúc trước của Intouch:
Để tạo 1 ứng dụng mới ta Click phải chuột chọn New:
Hộp thoại Creat New Application xuất hiện ta chọn Browse để chọn nơi lưu
file ứng dụng được tạo ta có cửa sổ Browse For Folder
Ta chọn nơi chứa file ứng dụng sau đó click Ok , Click Next
Giao diện Create New Application thứ 2 hiện ra ta đặt tên thư mục chứa ứng
dụng với tên BaiTap1 sau đó click Next ta có giao diện Create New
Application thứ 3:
Ta đặt tên ứng dụng trong mục Name với tên là
DIEUKHIENDONGCOBONNUOC sau đó click Finish để hoàn thành việc
tạo ứng dụng sau khi tạo xong ta có cửa sổ Intouch Application Manager
như hình:
Để vào cửa sổ thiết kế giao diện Window Maker ta Click chuột phải vào tên
ứng dụng vừa tạo ra, chọn WindowMaker hoặc double click chuột trái vào
ứng dụng vừa tạo ra, để vào môi trường thiết kế WindowMaker:
Thiết kế giao diện đồ họa:
Để thiết kế giao diện ta cần phải tạo 1 Form ứng dụng ta Click phải chuột
trong cửa sổ Windows chọn New hộp thoại Window Properties hiện ra:
Trọng mục Name ta đặt tên cửa sổ ứng dụng là THIETKEGIAODIEN, mục
Comment ta đặt là MO HINH DIEU KHIEN DONG CO VA BON NUOC
sau đó click Ok
Giao diện thiết kế đồ họa như hình :
Trên thanh công cụ ta chọn biểu tượng Winzards… để mở hộp thoại
WizardSelection đây là nơi chứa thư viện hỗ trợ của Intouch :
Để lấy các biểu tượng động cơ và bồn nước trong hộp thoại thư viện đưa ra
màn hình thiết kế, ta chọn mục Symbol Factory sau đó nhấp đúp vào biểu
tượng Symbol Factory sau đó chọn vị trí đặt trên giao diên rồi nhấp trái chuột,
xuất hiện cửa sổ Symbol Factory by Reichard Software:
Thiết lập ảnh động cơ
Trong mục categories ta chọn Motors thì ở mục Symbol xuất hiện hình ảnh
một số động cơ( ngoài ra ta cũng có thể vào Pumps để xem các động cơ) để
lấy động cơ ra màn hình ta nhấp chọn động cơ rồi click ok, hay nhấp đúp vào
động cơ cần chọn. Để lấy tiếp hình ảnh khác ta làm tương tự các bước trên:
Trên giao diện thiết kế hình ảnh động cơ hiển thị như hình dưới. Để phóng lớn
hoặc thu nhỏ hình ảnh động cơ ta chọn động cơ nhấp phải chuột chọn
cell/symbol – Break cell như hình, sau đó nhấp phải vào các nút vuông ở các
góc rồi kéo rê chuột lớn hoặc thu nhỏ tùy ý.
Để đưa bồn nước ra giao diện ta làm như đưa động cơ ra giao diện.
Trên giao diện sẽ xuất hiện động cơ và bồn nước như hình để di chuyển ta
chọn đối tượng rồi rê chuột đến vị trí thích hợp trên màn hình.
Thiết lấp các ống dẫn
Trên cửa sổ Symbol Factory by Reichard Software trong mục categories ta
chọn Pipes thì ở mục Symbol xuất hiện hình ảnh một số ống dẫn có hình dáng
khác nhau. Để lấy ống dẫn ra màn hình ta nhấp chọn động cơ rồi click ok, hay
nhấp đúp vào ống dẫn cần chọn.
Lúc này ống dẫn xuất hiện như hình ta phóng ta hay thu nhỏ tương tự như
trình bày ở trên:
Sau khi lấy đầy đủ các ống dẫn ra màn hình nếu thiếu ống dẫn nào thì nhấp
phải vào ống dẫn đó chọn Duplicate như hình:
Thiết lập Van
Trên cửa sổ Symbol Factory by Reichard Software trong mục categories ta
chọn Valves thì ở mục Symbol xuất hiện hình ảnh một số van có hình dáng
khác nhau. Để lấy van ra màn hình ta nhấp chọn động cơ rồi click ok, hay
nhấp đúp vào van cần chọn.
Bạn có thể phóng lớn, thu nhỏ, sao chép, di chuyển và xóa các ảnh trên giao
diện thiết kế sao cho phù hợp với mô hình.
Trên màn hình làm việc lắp đặt các hình ảnh như hình dưới:
Thiết lập tên sơ đồ, tên thiết bị, giá trị
Trên thanh Drawing ta chọn Text sau đó chọn vị trí đặt tên trên giao diện:
Sau đó đánh chữ cần đặt tên. Để thay đổi Font chữ ta nhấp chọn text trên giao
diện sau đó click phải chọn font sổ sau:
Ta chọn font và cở chữ thích hợp, muốn thay đổi màu cho chữ ta nhấp vào
color rồi chọn màu thích hợp sau đó chọn Ok để Save.
Để chỉnh sửa chữ trong text ta nhấp chuột phải vào text chọn Substitute/
Substitute String
Ta có cửa sổ sau:
Sau khi chỉnh sửa xong nhấp OK
Nếu ta muốn định dạng text nhập vào là chuỗi số thì ta đánh là ####.## trước
dấu chấm là phần nguyên sau dấu chấm là phần thập phân.
Thiết lập thanh biểu diễn giá trị mực nước bồn
Ta chọn Rounded Rectangle sau kéo kéo vẽ khung trên giao diện thành hình
thích hợp.
Để đổi màu cho thanh ta chọn đối tượng sau đó chọn biểu tượng Fillcolor sau
đó chọn màu thích hợp.
.
Để chỉnh sửa tên nút nhấn ta nhấp phải vào đối tượng chọn Substitute/
Substitute String sau khi chỉnh sửa xong nhấp OK.
Nếu muốn thay đổi font chữ, màu sắc,cở chữ ta click phải vào đối tượng chọn
font, cở chữ, và màu thích hợp.
Ngoài ra ta cũng có thể lấy nút nhấn trong Wizards…sau đó chọn buttons tùy
ý sau đó click OK trên giao diện hiển thị nút nhấn vừa lấy.
Ta có giao diện sau:
Sau khi thiết kế giao diện đúng yêu cầu tiếp theo ta tạo các biến cần sử dụng
trên giao diện:
Theo yêu cầu ta tạo 3 biến I/O Discrete để liên kết với PLC: NutStar, NutStop,
Dongco
Và một biến I/O Interger: Mucnuoc để thể hiện giá trị mực nước trong bồn.
Tạo biến I/O Discrete: NutStar, NutStop, Dongco
ta di chuyển chuột đến cửa sổ Tools sau đó double click vào Tagname
Distionary hoặc vào menu Special / Tagname Dictionary ta có cửa sổ sau:
Ta đặt tên biến NutStar ở mục Tagname sau đó chọn Type để chọn loại
biến:
Biến này ta dùng để kết nối với PLC nên ta chọn loại biến là I/O Discrete sau
đó chọn OK
Vì đây là biến kết nối với PLC nên có mục Access Name còn biến chỉ dùng
trong Intouch thì không cần. Ta chọn vào mục Access Name để tạo nhóm liên
kết với PLC
Bên phải là thiết lập ở OPC còn bên trái là bên Intouch. Ở phần lý thuyết có
hướng dẫn tạo liên kết giữa OPC với Intouch ta cần lưu ý 2 mục là Application
Name và Topic Name ta cần điền 2 mục này giống nhau để tạo liên kết. Còn
mục Access trong Intouch ta đặt tên nhóm biến là KetnoiPLC như hình. Sau
đó nhấp OK/click Close
Item ta nhập tên biến mà ta tạo ở phần mềm OPC để kết nối với PLC sau đó
click Save để lưu.Ta làm tương tự để tạo biến I/O discrete NutStop, Dongco
Tạo biến I/O Interger: ta làm tương tự các bước trên nhưng loại biến ta chọn là
I/O Interger
Lưu ý ta cần nhập mục Min Raw và Max Raw là giá trị lớn nhất và nhỏ nhất
mà ta lấy từ PLC về sau đó click save để lưu. Click close để thoát tạo biến.
Tiếp theo ta tạo liên kết giữa các biến với các đối tượng trên giao diện.
Để tạo liên kết cho đối tượng nào ta nhấp đúp chuột vào đối tượng đó.
Tạo liên kết nút nhấn Start:
Ta double click vào nút nhấn Start ta có cửa sổ sau:
Khi nhấn nút thì động cơ hoạt động nên ta thiết lập khi nhấn thì biến NutStart
lên 1 và PLC nhận được và thực hiện chương trình nên ta thiết lập như sau:
Vì là nút nhấn discrete nên ta chọn mục là Touch Pushbuttons/Discrete
Value
Để nhập biến ta double click vào ô tagname sau đó nhấn select và chọn biến
NutStart tiếp theo click ok/close/ok. Ở mục Action tùy vào điều kiện mà ta
chọn từng việc khi nút được nhấn. Vì đây là nút nhấn nên ta chọn là Direct.
Tương tư ta thiết lập cho nút Stop
Tạo liên kết cho đèn Star và đèn Stop trên giao diện. Đèn Star và đèn Stop sẽ
được điều khiển theo biến Dongco. Vì đèn để thấy được thì phải đổi màu nên
khi nhấp đúp chuột vào đèn ta có cửa sổ sau ta chọn Fillcolor/chọn Disrecte
Ta nhập điều kiện vào mục Expression: động cơ hoạt động thì đèn star đổi
màu nên ta điền vào là Dongco==1
Tương tự ta tạo liên kết cho đèn Stop
Tạo liên kết cho biến Mucnuoc:
Để tạo liên kết ta nhấp đúp chuột vào Text cần đặt thuộc tính.Đối với biến
analog thì ta chọn những thuộc tính có analog:
Nếu nhập analog thì ta chọn là touch links/analog sau đó chọn tag analog
Sau đó click ok. Với Min value: là giá trị thấp nhất
Max value: là giá trị cao nhất
Còn nếu để hiển thị analog ta chọn value display/analog sau đó chọn tag
analog click OK
Thiết lập mực nước tăng biến Mucnuoc và dừng khi ta nhấp Stop bơm.
Ta nhấp đúp chuột vào cột nước vào Percent Fill/ Vertical hoặc
Horizontal là làm đầy theo chiều ngang và chiều dọc.
Ở bài này ta chọn làm đầy theo chiều dọc thì ta vào Vertical ta có cửa sổ sau:
Ta nhấp đúp vào Expression sau đó chọn biến cần thiết lập là Mucnuoc.
Background Color là thiết lập màu nền của cột nước.
Sau khi tạo liên kết các biến xong ta mở phần mềm OPC lên để tạo liên kết
OPC với Intouch và tạo các biến liên kết với PLC ở đây ta dùng phần mềm
DeviceXPlorer OPC Server
Vào Start/Programs/DeviceXPlorer OPC Server/ DeviceXPlorer OPC
Server để khởi động chương trình OPC
Sau khi khởi động chương trình ta có cửa sổ sau
Để kết nối với PLC ta phải tạo một File ứng dụng để quản lý tất cả các biến
cần kết nối, thiết lập cấu hình PLC cho File OPC.
Ở cửa sổ này ta chọn giao thức kết nối của loại PLC đó ở đây ta chọn
MELSEC EZSocket kết nối truyền thông qua cáp nạp sau đó click next
Sau đó click Finish ta được cửa sổ sau:
Ta dùng PLC Fx để lập trình nên ta vào Port để thiết lập lại PLC
Ta thiết lập lại CPU Type là: FXCPU
Sau đó vào File/Save để lưu.
Để tạo biến liên kết với PLC ta chọn mục Tags và click vào biểu tượng
để tạo biến:
Tương tự ta tạo biến NutStop là X1, và Dongco là Y1
Lưu ý những biến trọng mục Name của OPC cần liên kết với những biến trong
mục Item của OPC cần liên kết với nhau phải giống nhau.
Sau khi tạo biến xong ta chọn Tab Device OPC và kiểm tra mục Application
Name và mục Topic Name có giống trong Access Name của Intouch không.
Sau đó ta viết chương trình trong PLC tác động vào X0 thì bật Y0, tác động
vào X1 thì tắt Y0 như hình sau đó chạy mô phông để kết nối với Intouch.
Chạy mô chương trình PLC và mở OPC và giao diện lên để kiểm tra.
Ta mới chỉ lập trình trên PLC là ON/OFF Y0 tương ứng với ON/OFF động cơ,
đèn Start/ Stop trên giao diện bây giờ ta dùng ngôn ngữ Scripts để lập trình tạo
thêm hiệu ứng cho giao diện: Khi động cơ hoạt động thì mực nước trong bồn
dâng lên và khi động cơ dừng thì mực nước không dâng nữa và giá trị mực
nước hiển thị trong ô TEXT
Để viết chương trình tạo hiệu ứng ta nhấp phải chuột ở cửa sổ giao diện chọn
WindownScript.
Ta chọn mục Condition Type: While Showing chương trình sẽ được thực thi
khi ta chạy Runtime lưu ý chu kỳ quét Every phải khác 0.
Sau đó ta viết chương trình vào và nhấn Convert để kiểm tra: Dựa vào yêu
cầu đề bài ta có chương trình sau:
IF dongco= =1 THEN
Mucnuoc=Mucnuoc+50;
ENDIF;
Khi động cơ hoạt động thì mực nước trong bồn dâng lên.
Bài Tập ứng dụng:
1.Tương tự ta viết thêm đoạn chương trình nếu mực nước dâng lên đến
giá trị mà ta đặt thì không tăng nữa và dừng động cơ.
2. Thiết kế giao diện như hình sau và lập trình theo yêu cầu:
Yêu cầu: 1.Thiết kết giao diện tạo liên kết và lập trình mô phỏng trên giao
diện:
Khi nhấn START thì đèn START sáng, đèn STOP tắt, động cơ hoạt động và
mực nước trong bồn dâng lên.
Khi nhấn STOP thì đèn STOP sáng, đèn START tắt, động cơ ngưng hoạt
động, mực nước không dâng nửa.
Khi mực nước dâng đến 9000 thì không dâng nửa, sau đó dừng động cơ.
Khi nhấn VAN XA thì mực nước giảm và giảm đến 0 thì không giảm nửa.
BÀI 2: THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN BĂNG TẢI
Bài này chúng ta luyện tập viết chương trình Scripts để tạo hiệu ứng chuyển
động cho đối tượng.
Yêu cầu:
Khi nhấn nút Start của nút 1 thì đèn Start nút 1 sáng, băng tải dọc 1 hoạt động
cửa bên cấp sản phẩm mở ra, sản phẩm chạy từ trong ra ngoài.
Khi sản phẩm tới vị trí băng tải ngang thì băng tải dọc 1 ngưng hoạt động đèn
Stop nút 1 sáng, đèn Start nút 1 tắt.
Khi nhấn nút Start của nút 2 thì đèn Start nút 2 sáng, băng tải ngang hoạt động
sản phẩm di chuyển sang phải.
Khi sản phẩm di chuyển tới cuối vị trí băng tải ngang thì dừng hoạt động sản
phẩm nằm ngay tay gạt. Băng tải dọc 2 hoạt động, đèn start nút 2 tắt và đèn
Stop nút 1 sáng.
Khi nhấn tay gạt thì tay gạt đưa ra, sản phẩm di chuyển vào trong, khi sản
phẩm di chuyển gần tới cửa thì cửa mở ra sau khi sản phẩm qua thì đóng lại.
Khi thả tay gạt ra thì tay gạt rút về.
Thiết kế giao diện:
Khởi động chương trình bằng cách: nhấp chuột vào
Start/Program/Wonderware/Intouch
Biểu tượng Intouch xuất hiện và cho biết chương trình đang khởi động.
Sau đó cửa sổ Intouch application manager hiện lên, đây là nơi chứa các ứng
dụng đã tạo lúc trước của Intouch:
Ta chọn nơi chứa file ứng dụng sau đó click Ok , Click Next
Giao diện Create New Application thứ 2 hiện ra ta đặt tên thư mục chứa ứng
dụng với tên BaiTap1 sau đó click Next ta có giao diện Create New
Application thứ 3:
Ta đặt tên ứng dụng trong mục Name với tên là GIAO DIEN ĐIEU KHIEN
BANG TAI
Sau đó click Finish để hoàn thành.
Ta có cửa sổ sau ta thấy thêm một ứng dụng mới vừa tạo ra:
Sau khi tạo xong mở cửa sổ Window Marker để thiết kế giao diện: tạo cửa sổ
window mới với tên là Giao dien bang tai
Để thay đổi màu nền cửa sổ Window ta nhấp phải chuột trên giao diện chọn
Window Properties hay nhấp chọn biểu tượng trên thanh công cụ sau đó
chọn màu thích hợp.
Sau đó ta dùng các công cụ vẽ để các theo giao diện: