1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ngôn Ngữ Script trong SCADA

95 1,7K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 569,18 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

5. Giới hạn của Application Script. Application script được thực hiện khi WindowViewer bắt đầu hoặc tắt có giới hạn về sự tác động đến các đối tượng khác. Bạn không thể sử dụng On Startup application script để: - Tham khảo các phương pháp ActiveX, đặc tính hoặc sự kiện. - Đọc từ hoặc viết để điều khiển và tagname I/O hoặc xem từ xa. - Chạy script để thay đổi dữ liệu và script điều kiện. Bạn không thể sử dụng On Shutdown application script để: - Đọc từ hoặc viết để điều khiển và các tagname điều khiển hoặc xem từ xa. - Bắt đầu các ứng dụng khác. 6. Cấu hình cửa sổ Script. Window script là những script được liên kết tới những cửa sổ cụ thể. Bạn có thể sử dụng window script để: - Thực hiện một script một lần khi cửa sổ InTouch đã mở. - Thực hiện một script theo chu kì trong khi cửa sổ InTouch đang mở. - Thực hiện script một lần khi cửa sổ InTouch đã đóng. Chú ý:mở một cửa sổ InTouch cũng được coi là “ hiển thị cửa sổ InTouch”. Đóng cửa sổ InTouch cũng được gọi là “ ẩn cửa sổ InTouch”. Để thiết đặt cấu hình cho một script: a. Sử dụng Classic View, trong hộp Window, kích chuột phải lên cửa sổ và sau đó kích chuột vào Window Script. Hộp thoại Window Script for Window Name hiện ra.

Trang 1

Trong hệ thống điều khiển giám sát thì HMI là một phần quan trọng khôngchỉ ở cấp điều khiển giám sát mà ở các cấp thấp hơn người ta cũng cần HMI đểphục vụ cho việc quan sát thao tác vận hành ở cấp điều khiển cục bộ Vì lí do giáthành, đặc điểm kỹ thuật nên các màn hình vận hành (OP- Operation Panel), mànhình chạm (TP-Touch Panel), multi panel chuyên dụng được sử dụng nhiều vàchiếm vai trò quan trọng hơn.

Nếu nhìn nhận SCADA theo quan điểm truyền thống thì nó là một hệthống mạng và thiết bị có nhiệm vụ thuần túy là thu thập dữ liệu từ các trạm ở xa

và truyền tải về khu trung tâm để xử lý Trong các hệ thống như vậy thì hệ truyềnthông và phần cứng được đặt lên hàng đầu và cần sự quan tâm nhiều hơn Trongnhững năm gần đây sự tiến bộ vượt bậc của công nghệ truyền thông công nghiệp

và công nghệ phần mềm trong công nghiệp đã đem lại nhiều khả năng và giảipháp mới nên trọng tâm của công việc thiết kế xây dựng hệ thống SCADA là lựachọn công cụ phần mềm thiết kế giao diện và giải pháp tích hợp hệ thống

2 Phân loại hệ thống SCADA:

Các hệ thống SCADA được phân làm 4 nhóm chính với các chức năng :

- SCADA độc lập / SCADA nối mạng

- SCADA không có khả năng đồ họa / SCADA có khả năng xử lý đồ họa không gian thực

Bốn nhóm chính của các hệ thống SCADA:

Hệ thống SCADA mờ (Blind): Đây là hệ thống đơn giản, nó không có bộ

phận giám sát Nhiệm vụ chủ yếu của hệ thống này là thu thập và xử lý dử liệubằng đồ thị Do tính đơn giản nên giá thành thấp

Hệ thống SCADA xử lý đồ họa thông tin thời gian thực: Đây là hệ thống

SCADA có khả năng giám sát và thu thập dữ liệu Nhờ tập tin cấu hình của máykhia báo trước đó mà hệ thống có khả năng mô phỏng tiến trình hoạt động của hệthống sản xuất Tập tin cấu hình ghi lại trạng thái hoạt động của hệ thống Khixảy ra sự cố thì hệ thống có thể báo cho người vận hành để xử lý kịp thời Cũng

có thể hệ sẽ phát ra tín hiệu dừng tất cả hoạt động của máy móc

Hệ thống SCADA độc lập: Đây là hệ thống SCADA có khả năng giám sát

và thu thập dữ liệu với một bộ xử lý Hệ này chỉ có thể điều khiển được một hoặc

Trang 2

hai máy móc Vì vậy hệ này chỉ phù hợp với những mô hình sản xuất nhò, sànxuất chi tiết.

Hệ thống SCADA mạng: Đây là hệ có khả năng giám sát và thu thập dữ

liệu với nhiều bộ xử lý Các máy tính giám sát được nối mạng với nhau Hệ này

có khả năng điều khiền được nhiều nhóm máy móc tạo nên dây chuyền sàn xuất.Qua mạng truyền thông hệ thống được kết nối với phòng quản lý , phòng điềukhiển, có thể nhận quyết định điều khiển trực tiếp từ phòng quản lý hoặc từphòng thiết kế Từ phòng điều khiển có thể điều khiển hoạt động của các thiết bị

ở xa

3 Cấu trúc chung của hệ SCADA:

Trong hệ thống điều khiển giám sát, các cảm biến và cơ cấu chấp hànhđóng vai trò là giao diện giữa thiết bị điều khiển với quá trình kỹ thuật Còn hệthống điều khiển giám sát đóng vai trò là giao diện người-máy Các thiết bị và bộphận của hệ thống được ghép nối với nhau theo kiểu điểm-điểm hoặc qua mạngtruyền thông Tín hiệu thu được từ cảm biến có thề là tín hiệu nhị phân, tín hiệu

số hoặc tương tự Khi xử lý trong máy tính, chúng phải được chuyển đổi cho phùhợp với các chuẩn giao diện vào/ra của máy tính

Các thành phần chính của hệ thống SCADA bao gồm:

Giao diện quá trình: bao gồm các cảm biến, thiết bị đo, thiết bị chuyển đổi

và các cơ cấu chấp hành

Thiết bị điều khiển tự động: gồm các bộ phận điều khiển chuyên

dụng(PID), các bộ điều khiển khả trình PLC(Programable Logic Controler), cácthiết bị điều chỉnh số đơn lẻ CDC(Compact Digital Controler) và máy tính PCvới các phần mềm điều khiển tương ứng

Hệ thống điều khiển giám sát: gồm các phần mềm giao diện người-máy

HMI, các trạm kỹ thuật, trạm vận hành, giám sát và điều khiển cao cấp

Hệ thống truyền thông: ghép nối điểm-điểm, bus cảm biến/chấp hành, bus

InTouch là một công cụ tao ra các ứng dụng người và máy (HMI) trong

môi trường WINDOWS một cách dễ dàng và nhanh chóng

InTouch có 3 thành phần chính InTouch Application Manager, WindowMaker và WindowViewer.

Trang 3

- InTouch Application Manager sắp xếp các ứng dụng mà chúng ta

đã tạo ra InTouch Application Manager cũng được dùng để đặt cấu hình cho WindowViewer như một NT Service Mở các tiện ích

DBDUMP databases và DBLoad databases

- WindowMaker là môi trường tạo và phát triển các ứng dụng Các

đối tượng đồ họa được tạo ra rất linh hoạt, các cửa sổ hiển thị có thể kếtnối với các hệ thống I/O công nghiệp và các ứng dụng khác của

Windows

- WindowViewer là môi trường thời gian thực dùng để hiển thị các cửa

sổ đồ họa đã được tạo ra trong WindowMaker và WindowViewer sẽ

thực hiện hiệu ứng InTouch QuickScript hoàn tất quá trình ghi nhận và báo cáo dữ liệu trong quá khứ, xử lý quá trình ghi nhận và báo cáo các báo động

2. Yêu cầu cấu hình phần cứng và phần mềm

Bảy loại loại script được xác định bởi những gì mà chúng có thể thực hiện

Ví dụ, các script sẽ thực thi khi một ứng dụng chạy, dừng lại hoặc tiếp tục chạy

Dữ liệu các script thực hiện thay đổi khi một item đã biết hoặc dữ liệu thay đổi.Cửa sổ script thực thi khi một cửa sổ mở ra hoặc, đóng lại hoặc vẫn đang mở

Các chức năng được xây dựng trong script bao gồm chức năng toán học,hàm lượng giác, chức năng chuỗi và các chức năng khác Sử dụng những chứcnăng này giúp bạn tiết kiệm thời gian trong việc viết ứng dụng

Intouch script có thể bao gồm: gắn và liên kết các đối tượng (OLE) và điềukhiển hoạt động X

Trang 4

Bạn có thể sử dụng câu điều kiện, vòng lặp, và các biến địa phương trongngôn ngữ script để tạo các hiệu ứng phức tạp trong ứng dụng của bạn.

1. Giới thiệu ngôn ngữ basic

Trước khi bạn bắt đầu với script, bạn nên biết:

• Một script là một quy trình vận hành một ứng dụng làm việc gì đó

• QuickScript là ngôn ngữ lập trình cho giao Intouch HMI

• Một function là một script có thể được gọi bởi một script khác IntouchHMI đi kèm với một số chưc năng xác định trước để bạn sử dụng

• QuickFunction là một chức năng khả dụng được viết trong QuickScript

và được lưu trong thư viện QuickFunction Để tạo một QuickFunction,bạn chỉ cần tạo một QuickScript và đặt tên cho nó Một QuickFunction

có thể được gọi bởi một script khác hoặc một biểu thức có liên kết hìnhảnh động

2. Các loại Script

Trong Intouch, script được phân loại theo những gì tạo ra khi scriptthực thi Ví dụ, bạn sẽ tạo ra một “script khóa” nếu bạn muốn script thựchiện khi vận hành ta nhấn một phím nào đó trên bàn phím

Sau khi bạn lựa chọn loại script, sau đó bạn có thể xác định các tiêuchuẩn, điều kiện để cho script chạy được Ví dụ, bạn muốn script chạy khinhả phím chứ không phải khi nhấn

Các loại script :

Application script tiếp tục chạy trong khi WindowViewer đang chạy

hoặc một khoảng thời gian khi WindowViewer được bắt đầu hoặc đónglại

Window script sẽ quét tuần hoàn khi cửa sổ Intouch mở hoặc một lần

khi cửa sổ Intouch đóng hoặc mở

Key script chạy một lần hoặc theo chu kì khi một số phím hoặc một tổ

hợp phím đươch nhấn hoặc nhả

Condition script thực thi một lần hoặc theo chu kì khi một điều kiện

biết trước thỏa mãn hoặc không thỏa mãn

Data change script thực hiện một lần khi giá trị của một tag biết trươc

hoặc biểu thức thay đổi

Action script thực hiện một lần hoặc theo chu kì khi người vận hành

nhấp chuột lên đối tượng đồ họa trên giao diện Intouch

ActiveX event scripts thực hiện một lần một sự kiện ActiveX xảy ra,

như cách nhấp chuột điều khiển ActiveX

3. Soạn thảo và tạo Script

Trang 5

Sử dụng Intouch HMI Script Editor để tạo và chỉnh sửa script trongIntouch WindowMaker.

Đây là ví dụ cho một application script Mỗi loại script có một giaodiện hộp thoại soạn thảo riêng, với tùy chọn và sự lựa chọn là duy nhất vớitừng loại script

Thanh tiêu đề của trình soạn thảo cho biết loại script mà bạn đang làm việc Để biết thêm thông tin về từng loại script

Có những lệnh tương đương và các phép toán nằm ở dưới cùng củatrình soạn thảo QuickScript mà bạn có thể nhấp chuột để chèn từ khóa,chức năng hoặc biểu tượng vào script của bạn tại vị trí con trỏ

Mục điều kiện bao gồm điều kiện thực thi có sẵn cho loại script bạnđang viết

Nút MEM OLE ở dưới cùng bên phải chỉ hiện ra nếu ManufacturingEngineering Module (MEM) được cài đặt cùng với Intouch HMI Clickvào nút này cho phép bạn soạn thảo với MEM

4. Khái niệm script nâng cao

Một số script cao cấp có khả năng cho phép bạn đạt được chức năngcao cấp vượt ra ngoài những chức năng cơ bản của Intouch HMI

Các đối tượng OLE và các điều khiển hoạt động X cho phép bạntruy cập vào chức năng gốc của hệ thống máy tính và tương tác với cácchương trình khác như MEM

5. Các đối tượng OLE

Trong tùy chỉnh script của bạn, bạn có thể gọi các đối tượng OLE,Các đối tượng OLE cho phép bạn truy cập vào chức năng gốc của hệ thốngmáy tính và tương tác với chương trình khác như WonderwareManufacturing Engineering Module

Trang 6

Ví dụ, bằng cách sử dụng PLE bạn có thể:

• Chế ra một số ngẫu nhiên

• Tạo ra hộp thoại giao diện với người dùng

• Mở các cửa sổ ngày và thời gian bảng tính

• Đọc và viết để đăng kí

• Giảm thiểu các cửa sổ

6. Script với điều khiển ActiveX

Một vài điều khiển ActiveX được cung cấp với Intouch HMI trong menu Wizards Bởi vì Intouch HMI cơ bản dựa trên môi trường hoạt động của window,bạn gần như có thể sử dụng bất kì điều khiển Active với Intouch HMI

II TẠO VÀ CHỈNH SỬA CÁC SCRIPTS

Các bước để tạo một script mới khác nhau tùy theo từng loại script Nói chung, bạn có thể mở trình soạn thảo script, chọn một loại điều kiện, nhập các câu lệnh và sau đó lưu script

1. Mở một Script để soạn thảo

Các bước mở một script có sẵn khác nhau tùy thuộc vào loại script

1.1 Để mở một application script :

a. Thực hiện một trong hai cách sau:

- Sử dụng Classic View, trong hộp thoại Script, nhấp đúp vàoApplication

- Trên menu Special, tại Script và nhấp chuột vào ApplicationScript

b. Trong mục Condition Type, nhấp vào loại script muốn chỉnh sửa.1.2 Để mở một window script:

a. Thực hiện theo những cách sau:

- Sử dụng Classic View, trong hộp thoại Script, nhấp chuột phảilên tên window và sau đó nhấp chuột vào Window Script

- Sử dụng Project View, mở rộng Script và sau đó kích đúp vàoscript

- Mở cửa sổ script được liên kết Trên menu Special, tại script vàsau đó kích vào Window Script

- Mở cửa sổ script được liên kết Kích chuột phải lên vùng trốngtrong cửa sổ và sau đó kích vào Window Script

b. Trong mục Condition, nhấp vào các điều kiện để cho script chạy.1.3 Để mở một script sự kiện ActiveX:

a. Thực hiện theo cách sau:

- Sử dụng Classic View, trong hộp thoại Script, mở rộng ActiveXEvent và sau đó kích đúp vào tên script

- Sử dụng Project View, mở rộng Script và sau đó kích đúp vàoscript

Trang 7

- Kích đúp vào đối tượng điều khiển ActiveX được liên kết Kíchvào tab sự kiện sau đó kích đúp phần có trong tên script.

1.4 Để mở một Action script:

a. Mở cửa sổ chứa thành phần đồ họa action script được liên kết

b. Nhấp đúp vào thành phần đồ họa cho action script được liên kết

c. Trong vùng Touch Pushbutton, kích chọn Action Trình soạn thảoscript hiện lên

d. Trong mục Condition Type, kích chọn hoạt động để script chạy.1.5 Để mở Key, Condition hoặc Data change script

a. Thực hiện cách sau:

- Sử dụng ClassicView, trong hộp thoại Script, mở rộng mục script

và sau đó kích đúp vào tên script

- Sử dụng Project View, mở rộng script và sau đó kích đúp vàoscript

- Trên menu Special, trỏ đến Script và sau đó kích vào loại scriptthích hợp Script Editor hiện ra Kích vào nút Browse và sau đóchon tên script

b. Nếu có thể, trong danh sách Condition Type kích vào điều kiện đểscript chạy

2. Lưu hoặc xóa thay đổi một script.

Trong khi làm việc trong Script Editor hoặc khi kết thúc, bạn có thểlưu script của bạn bằng tay hoặc tự động Hoặc bạn có thể xóa bỏ nó hoàntoàn

Các tùy chọn khôi phục không sẵn có cho cửa sổ và ứng dụng script

Chú ý: lưu và xóa bỏ luôn áp dụng cho tất cả các loại điều kiện của mỗi loại script, không chỉ loại điều kiện nó đang hiển thị.

Để lưu thay đổi và script vẫn mở

- Trên menu Script, kích chọn Save

Để lưu thay đổi và đóng script

4. Tìm và thay thế văn bản

Trang 8

Bạn có thể tìm và thay thế văn bản trong script.

Để tìm và thay thế văn bản

Trên menu Edit, kích Find Hộp thoại Replce xuất hiện

Các tùy chọn trong hộp thoại này làm việc tương tự như trong các ứngdụng khác của Window, như Notepad

5. Chèn đoạn mã

Bạn có thể tự động chèn các đoạn mã khác nhau vào trong script củabạn bằng cách chọn chúng từ danh sách Điều này giúp bạn tiết kiệm thờigian và giảm bớt rủi ro từ việc đánh máy

5.2 Để chèn một tagname vào một script

a. Trên menu Insert, kích Tagname Hộp thoại Select Tagname xuấthiện

b. Kích vào tagname sử dụng

Ngoài ra, bạn có thể kích đúp một tagname để chèn tag và tại vịtrí được chọn trong danh sách Dot field

c. Để chèn một dot field kích vào nó trong danh sách Dot Field

d. Kích OK Hộp thoại Select Tag đóng lại và tagname được chènvào trong script của bạn tại vị trí con trỏ

5.3 Để chèn một Dot field vào script

5.4 Để chèn một cửa sổ tên vào script

a. Trên menu Insert, kích Window Hộp thoại Window Name toInsert xuất hiện

b. Kích vào window name to insert sử dụng Hộp thoại đóng lại vàcửa sổ tên được chèn vào script của bạn tại vị trí con trỏ

5.5 Để chèn một phương pháp ActiveX hoặc đặc tính vào script

a. Trên menu Insert, kích ActiveX Hộp thoại ActiveX ControlBrowser xuất hiện

Trang 9

b. Trong danh sách Control Name, kích vào đối tượng điều khiểnActiveX để liệt kê những phương pháp và tính chất mà bạnmuốn.

c. Trong danh sách Method/Property, kích vào phương pháp hoặctính chất

d. Kích OK Hộp thoại đóng lại và phương pháp hoặc tính chấttham chiếu được chèn vào trong script của bạn tại vị trí con trỏ.5.6 Để chèn một từ khóa hoặc toán tử vào trong script

Kích vào nút thích hợp ở dưới cùng của Script Editor Từ khóa hoặctoán tử được chèn vào trong script của bạn tại vị trí con trỏ

6. Truy cập trợ giúp của Script Function

Nếu bạn đang tìm kiếm sự trợ giúp cụ thể về chứ năng script bạn cóthể truy cập trực tiếp từ Script Function

Để xem trợ giúp về chức năng script cụ thể

a. Ở góc dưới cùng bên phải của Script Editor, kích Help Một danhsách chức năng hiện ra

b. Nếu bạn không thấy chức năng mà bạn muốn chèn, kích NextPage ở vị trí dưới cùng của danh sách để sang trang tiếp theo

c. Kích vào tên của chức năng yêu cầu Các chủ đề trợ giúp sẽ xuấthiện

7. Kiểm tra Script cho đúng cú pháp.

Khi bạn lưu một script, Script Editor tự động kiểm tra nó cho đúng

cú pháp Nếu lỗi xuất hiện, một tin nhắn với nhiều thông tin hiện ra Bạnphải kiểm tra tất cả cú pháp lỗi trước khi bạn có thể lưu script Bạn cũng cóthể tự kiểm tra trong khi bạn đang soạn thảo script

Để tự kiểm duyệt cú pháp script:

- Kích vào Validate

8. In ấn các script

Bạn có thể in các script riêng lẻ từ Script Editor hoặc bạn có thể intất cả các script của một loại cụ thể bằng cách sử dụng các tính năng in ấntrong Windowmaker

Để in một script riêng lẻ:

a. Mở script trong Script Editor, mở một script để chỉnh sửa

b. Kích vào nút Print trong thanh công cụ Script được in với máy inmặc định của Window

Để in tất cả các script của một loại đặc trưng

a. Trên menu File trong WindowMaker, kích Print Hộp thoạiWindowMaker Printout xuất hiện

Trang 10

b. Chọn hộp kiểm tra cho các loại script để in In tất cả các scriptkích chọn All Scripts.

c. Kích Next Hộp thoại Select Output Destination xuất hiện

d. Thực hiện một trong các điều sau:

- Kích Send output to Printer

- Kích Send output to Text File

e. Kích vào nút Browse để chọn máy in hoặc tìm một tập tin

f. Kích Print

III SCRIPT TRIGGERS

Tất cả các script Intouch HMI được thực hiện bởi script khởi động Mỗiloại script có một hoặc nhiều cách để khởi chạy nó

Trong Script Editor, bạn có thể chọn bất kì cái script khởi động nào bạnmuốn để sử dụng để chạy script của bạn Bạn chọn một script khởi động dựa trênmột script được thực hiện khi nào và chạy như thế nào

Có nhiều cách kích hoạt khác nhau dựa trên ý muốn người sử dụng, cáctrạng thái bên trong và sự thay đổi của các giá trị tagname Người dùng nhấnphím và nhấp lên đồ họa Cách khởi động bên trong có thể bao gồm cảWindowViewer khởi động

1. Các loại của Script trigger

Trong InTouch HMI, script được chia thành bảy loại Mỗi loại script cómột hoặc nhiều cách khởi động, bạn có thể lựa chọn để khởi động script

- Một Application script có ba trạng thái: khi khởi động, khi tắt vàtrong khi chạy Mỗi lần khởi động có thể thực hiện một scriptkhác nhau

- Một window script có ba trạng thái: lúc hiện, lúc ẩn và trong khihiển thị Mỗi lần khởi động có thể thực hiện một script khácnhau

- Một key script có ba trạng thái: phím lên, phím xuống hoặc trongkhi xuống Mỗi lần khởi động có thể thực hiện một script khácnhau

- Một condition script có bốn trạng thái: đúng, trong lúc đúng, sai,trong khi sai Mỗi lần khởi động có thể thực hiện một script khácnhau

- Một Data change script thực hiện khi giá trị của một tag đã biếthoặc biểu thức thay đổi

- Một Action script thực hiện một lần hoặc có chu kì khi ngườiđiều khiển kích chuột lên biểu tượng đồ họa của InTouch HMI

Trang 11

- Một ActiveX event script thực hiện một lần khi một sự kiệnActive đã biết xảy ra, chẳng hạn như kích chuột lên điều khiểnActiveX.

Chọn cách khởi động trong danh sách Condition Type để xem hiện

có script có sẵn cho bộ khởi động

3. Chu kì thực hiện script.

Các script thực hiện theo chu kì không thực hiện ngay sau khi kíchhoạt, nhưng sau thời gian định trước cho lần đầu

Ví dụ, nếu bạn thiết lập cấu hình cho một key script để thực hiệnmỗi 5000 ms trong khi nhấn phím đã xác định, nó được thực hiện 5 giâysau khi nhấn và giữ phím xuống và cứ mỗi 5 giây sau đó

4. Thiết đặt cấu hình các Application script.

Application script có kết nối tới toàn bộ ứng dụng của InTouchHMI Bạn có thể sử dụng ứng dụng script để:

- Thực hiện script một lần khi WindowViewer khởi động

- Thực hiện script theo chu kì khi WindowViewer chạy

- Thực hiện script một lần khi WindowViewer tắt

Thiết đặt cấu hình cho application script

a. Sử dụng Classic View, trong cửa sổ Script, kích chuột phải lênApplication sau đó kích open Hộp thoại Application hiện ra

Trang 12

b. Trong danh sách Condition Type, kích chuột vào điều kiện cho script thực hiện.

- Kích chuột On Startup để cấu hình script thực hiện một lần khi WindowViewer khởi động

- Kích chuột While Running để cấu hình script thực hiện theo chu

kì trong khi WindowViewer đang chạy

- Kích chuột On Shutdown để cấu hình script thực hiện một lần khiWindowViewer tắt

c. Nếu bạn chọn While Running trong bước trước, nhập một

khoảng thời gian giữa 1 và 360000 ms trong hộp thoại Every Khoảng thời gian xác định thường xuyên như thế nào để script thực hiện

d. Nhập script của bạn trong cửa sổ

e. Kích OK

Để xóa một application script

a. Sử dụng Classic View, trong cửa sổ Script, kích chuột phải lên Application sau đó kích open Hộp thoại Application hiện ra

b. Trong danh sách Condition Type, kích vào điều kiện để xóa script Script xuất hiện trong phần chính của hộp thoại

Application Script

c. Trên menu Edit, kích chọn Clear Các script chính và các thành phần liên quan sẽ bị xóa

Trang 13

5. Giới hạn của Application Script.

Application script được thực hiện khi WindowViewer bắt đầu hoặc tắt có giới hạn về sự tác động đến các đối tượng khác

Bạn không thể sử dụng On Startup application script để:

- Tham khảo các phương pháp ActiveX, đặc tính hoặc sự kiện

- Đọc từ hoặc viết để điều khiển và tagname I/O hoặc xem từ xa

- Chạy script để thay đổi dữ liệu và script điều kiện

Bạn không thể sử dụng On Shutdown application script để:

- Đọc từ hoặc viết để điều khiển và các tagname điều khiển hoặc xem từ xa

- Bắt đầu các ứng dụng khác

6. Cấu hình cửa sổ Script.

Window script là những script được liên kết tới những cửa sổ cụ thể Bạn

có thể sử dụng window script để:

- Thực hiện một script một lần khi cửa sổ InTouch đã mở

- Thực hiện một script theo chu kì trong khi cửa sổ InTouch đang mở

- Thực hiện script một lần khi cửa sổ InTouch đã đóng

Chú ý:mở một cửa sổ InTouch cũng được coi là “ hiển thị cửa sổ InTouch” Đóng cửa sổ InTouch cũng được gọi là “ ẩn cửa sổ InTouch”.

Để thiết đặt cấu hình cho một script:

a. Sử dụng Classic View, trong hộp Window, kích chuột phải lên cửa

sổ và sau đó kích chuột vào Window Script Hộp thoại Window Script for Window Name hiện ra

b. Trong danh sách Condition Type, thực hiện một trong những cách sau:

Trang 14

- Kích chọn On Show để cấu hình một script để thực hiện một lần khi cửa sổ liên kết bắt đầu.

- Kích chọn While Showing, thiết đặt script để thực hiện theo chu

kì trong khi cửa sổ liên kết tới được mở

- Kích chọn On Hide, thiết đặt một script để thực hiện một lần khi cửa sổ được liên kết tới đóng

c. Nếu bạn chọn While Showing trong bước trước, đánh một khoảng thời gian giữa 1 và 360000 ms trong hộp Every

d. Nhập script của bạn trong cửa sổ

e. Kích chọn OK

Để xóa một window script

a. Sử dụng Classic View, trong hộp Window, kích chuột phải lên cửa

sổ và kích chọn Window Script Hộp thoại Window Script for

Window Name xuất hiện

b. Trong danh sách Condition Type, kích chọn script khởi động cho script để xóa Script hiện ra trong phần chính của hộp thoại Window Script for Window Name

c. Trong menu Edit chọn Clear

7. Thiết đặt cấu hình cho Key script.

Key script là những script được liên kết với nút nhấn của phím riêng hoặc một tổ hợp phím Bạn có thể sử dụng key script để:

- Thực hiện script một lần khi nhấn phím hoặc tổ hợp phím

- Thực hiện script theo chu kì trong khi một phím hoặc tổ hợp phím được nhấn và không nhả ra

- Thực hiện script một lần khi một phím hoặc tổ hợp phím được nhả

Một key script được xác định bằng tên của phím bắt đầu script

Chú ý: nếu bạn đã thiết đặt một script hoạt động sử dụng cùng một phím hoặc một tổ hợp phím để kích hoạt nó, key script bị bỏ qua thay vì nó được thực hiện.

Để thiết đặt một ket script

a. Sử dụng Classic View, trong hộp Script, thực hiện theo những cách sau:

- Để cấu hình một ket script mới, kích chuột phải Key sau đó chọn New Hộp thoại Key Script xuất hiện :

Trang 15

- Để thiết đặt một ket script đã có, kéo rộng Key, kích chuột phải lên tên script sau đó chọn Edit Hộp thoại Edir Key Script xuất hiện.

b. Kích chọn Key và chọn một phím từ hộp thoại Choose Key

c. Ctrl và/ hoặc Shift kiểm tra hộp để gán phím điều khiển và/hoặc tổ hợp phím Shift với phím bạn đã chọn

d. Trong danh sách Condition Type, thực hiện một trong các cách sau:

- Nhấp On Key Down để thiết đặt script để thực hiện một lần khi nhấn phím hoặc tổ hợp phím được liên kết

- Nhấp While Down để thiếp lập script thực hiện theo chu kì trong khi phím hoặc tổ hợp phím liên kết được nhấn

Trang 16

- Nhấp On Key Up để thiếp lập script thực hiện một lần khi phím hoặc tổ hợp phím liên kết được nhấn.

e. Nếu bạn chọn While Down ở bước trước, nhập khoảng thời gian giữa 1 và 360000 ms vào trong hộp Every

f. Nhập script của bạn vào trong cửa sổ

g. Nhấp OK

Để xóa tất cả key script được liên kết với phím

a. Sử dụng Classic View, trong hộp Script, mở rộng Key, nhấp chuột phải lên tên phím script sau đó chọn Edit Hộp thoại Wdit Key Script xuất hiện

b. Trong danh sách Condition Type, nhấp script khởi động cho script

để xóa Script xuất hiện trong phần chính của hộp thoại Edit Key Script

c. Trên menu Edit, nhấp Clear Script chính và các phần liện quan bị xóa

8. Thiết đặt cấu hình cho Condition Script.

Condition Script được kích hoạt phụ thuộc khi một số điều kiện logic thỏa mãn Sử dụng Condition script để thực hiện một script:

- Một lần khi điều kiện thỏa mãn

- Một lần khi điều kiện không thỏa mãn

- Theo chu kì trong khi điều kiện biết trước thỏa mãn

- Theo chu kì trong khi điều kiện biết trướ không thỏa mãn

Một condition script được xác định bởi cú pháp điều kiện khởi tạoscript Cho ví dụ: tag1>=13

Chú ý: một script được gán điều kiện On True, chỉ thực hiện nếu điều kiện chuyển từ False thành True Một điều kiện được gán On False chỉ thực hiện nếu điều kiện chuyển từ True thành False

Để cấu hình cho một condition scrip

a. Sử dụng Classic View, một trong các hộp Script:

- Kích chuột phải Condition và nhấp New Hộp thoại Condition Script xuất hiện

Trang 17

- Để chỉnh sửa một condition script có sẵn, nhấp chọn biểu tượng dấu cộng tiếp đến điều kiện và nhấp chọn Edit Hộp thoại Edit Condition Script xuất hiện.

b. Trong hộp Condition, nhập biểu thức mà bạn muốn sử dụng như điều kiện

c. Bạn có thể nhập một chú thích vào trong hộp Comment

d. Trong danh sách Condition Type, thực hiện một trong các cách sau:

- Kích chọn On False để thiết đặt một script để thực hiện một lần khi điều kiện trở nên sai

- Kích chọn While False, thiết lập script thực hiện theo chu kì trong khi điều kiện là sai

- Kích chọn On True, thiết đặt script để thực hiện một lần khi điều kiện trở nên đúng

- Kích chọn While True, thiết lập script để thực hiện theo chu kì trong khi điều kiện là đúng

e. Nếu bước trước bạn chọn While false hoặc While True, nhập một khoảng thời gian giữa 1 và 360000 ms vào hộp Every

f. Nhập script của bạn hoặc điều chỉnh script có sẵn trong cửa sổ

Trang 18

Để xóa tất cả condition script được liên kết với các điều kiện.

- Sử dụng Classic View, trong hộp Script, mở rộng Condition, nhấp chuột phải vào tên condition script và nhấp Delete Khi một tin nhắn xuât hiện, nhấp chọn Yes

Để xóa từng condition script được liên kết với một điều kiện

- Sử dụng Classic View, trong hộp Script, mở rộng Condition, kíchchuột phải lên tên key script và nhấp Edit Hộp thoại Edit

Condition Script xuất hiện

- Trong danh sách Condition, kích chọn script khởi động cho script

để xóa Script xuất hiện trong phần chính của hộp thoại Edit Condition Script

- Trên menu Edit, nhấp Clear Script từ phần chính và các phần liên quan bị xóa

9. Thiết đặt cấu hình cho Data Change Script

Bạn có thể sử dụng data change script để thực hiện script một lần khimột tagname đã biết hoặc điểm trường thay đổi bởi nhiều hơn dải cố định của nó

Một data change script được xác định bởi tagname hoặc trường tagname script khởi đầu ví dụ: tag1 hoặc tag2.HiHiLimit

Để thiết đặt một data change script

- Sử dụng Classic View, trong hộp Script, kích chuột phải Data change và nhấp New Hộp thoại Data Change Script xuất hiện

Trang 19

- Trong hộp tagname[.filed], nhập một tagname hoặc trường

tagname

- Nhập script của bạn vào trong cửa sổ

- Nhấp OK

Để xóa một Data change script

- Sử dụng Classic View, trong hộp Script, kéo rộng Data change Khi một tin nhắn xuất hiện, nhấp chọn Yes

10. Thiết đặt Action Script

Sử dụng action script để liên kết các người vận hành với các biểu tượng đồ họa Bạn có thể thiết lập một hoặc nhiều các sự kiện với một đối tượng đồ họa theo cách sau:

- Kích vào bên trái, trung tâm hoặc nút chuột phải

- Nhấp và giữ chuột trái, giữa hoặc bên phải

- Nhả chuột trái, giữa hoặc bên phải

- Nhấp đúp lên chuột trái, giữa hoặc bên phải

- Nhấn một phím hoặc một tổ hợp phím

- Nhấn và giữ một hoặc tổ hợp phím

- Nhả một phím hoặc một tổ hợp phím

- Di chuyển chuột vượt quá một đối tượng,

Một Action script có thể chỉ được thiết lập trong hộp AnimationLink Selection của đối tượng đó

Quan trọng: nếu một phím script hiện có được kích hoạt bởi một phím giống nhau hoặc một tổ hợp phím như action script, action script được thực hiện và phím script được bỏ qua.

Để thiết lập cho một action script

a. Nhấp đúp lên đối tượng đồ họa Hộp Animation Links Selection xuất hiện:

Trang 20

b. Nhấp chọn Action, hộp thoại Touch -> Action script xuất hiện.

Trang 21

c. Trong danh sách Condition, nhấp một trong những cách sau:

Để thiết lập một script mà thực hiện với điều kiện này:

- Một lần khi nút chuột trái hoặc phím đã biết hoặc một tổ hợp phím được nhấn – nhấp chọn On Left Click/Key Down

- Theo chu kì trong khi nút chuột trái hoặc phím đã biết hoặc một

tổ hợp phím được nhấn – nhấp While Left/Key Down

- Một lần khi nút chuột trái hoặc phím đã biết hoặc một tổ hợp phím được nhả - nhấp chọn On Left/Key Up/

- Một lần khi chuột trái được nhấp đúp – nhấp On Left Double Click

- Một lần khi chuột phải được nhấn – nhấp On Right Click

- Theo chu kì trong khi chuột phải được nhấn – nhấn While Right Down

- Một lần khi chuột phải được nhả - nhấp On Right Up

- Một lần khi chuột phải được nhấp đúp – On Right Double Click

- Một lần khi chuột giữa được nhấn – On Center Click

- Theo chu kì trong khi chuột giữa được nhấn – While Center Click

- Một lần khi chuột giữa được nhả - On Center Up

- Một lần khi chuột giữa được nhấp đúp – On Center Double Click

- Một lần khi di chuyển chuột qua đối tượng - On Mouse Over

Trang 22

d. Nếu bạn chọn On Left/key Down, While Left/Key Down hoặc On Left/Key Up:

- Kích chọn Key Hộp thoại Chooes Key hiện ra

f. Nếu bạn chon On Mouse Over, trong hộp After, nhập số ms giữa 1

và 360000 để chạy sau khi chuột di chuyển qua đối tượng trước khi script thực hiện

g. Nhập script của bạn vào trong cửa sổ

h. Nhấp OK,

Để xóa tất cả action script có liên quan tới đối tượng đồ họa

a. Nhấp đúp vào đối tượng Hộp đặc tính của đối tượng hiện ra

Để xóa từng cái action script

a. Nhấp đúp vào đối tượng đồ họa mà có action script để xóa Hộp đặc tính đối tượng hiện ra

b. Nhấp vào nút Action Hộp thoại Touch->Action Script hiện ra

c. Trong danh sách Condition Type, nhấp vào script khởi động

Trang 23

d. Trên menu Edit, nhấp Clear Script từ phần chính được bỏ và các phần liên kết với nó bị xóa.

11. Thiết lập cấu hình Active Event Script

Sử dụng ActiveX event script để chạy một script khi một sự kiện ActiveX xảy ra, các sự kiện có thể gồm:

- ActiveX điều khiển được bắt đầu : Startup

- ActiveX điều khiển được đóng : Shutdown

- Người dùng nhấp lên ActiveX điều khiển : Click

- Người dùng nhấp đúp lên ActiveX điều khiển :DoubleclickMột ActiveX event script được xác định bởi một tên Theo mặc định,InTouch HMI tự động thêm tên điều khiển và sự kiện mà script được gán với Vídụ: MyActiveXScript (AlarmViewCtrl::Click)

Để thiếp lập một ActiveX event script mới

a. Nhấp đúp lên ActiveX điều khiển để thiết lập.Hộp thoại đặc tính điều khiển ActiveX xuất hiện

b. Nhấp vô tab Events

Trang 24

c. Chọn một sự kiện như click, nhấp đúp, tắt xuống hoặc khởi động lên.

d. Nhấp vào ô Script cho sự kiện Dấu ngoặc vuông xuất hiện

e. Nhập tên mới cho một event script và nhấp OK Khi một tin nhắn xuất hiện, nhấp OK để tạo một script mới Hộp thoại Active Event Script xuất hiện

f. Trong hộp tên, bạn có thể thay đổi tên các ActiveX event script

g. Nhập script của bạn trong cửa sổ

h. Nhấp OK

Để chỉnh sửa các ActiveX event Script có sẵn

a. Sử dụng Classic View, trong hộp Script, kéo rộng ActiveX Event, nhấp chuột phải vào tên ActiveX script và nhấp Edit

b. Thay đổi những cái cần thiết cho script và nhấp OK

Để xóa một ActiveX Event Script có sẵn

a. Chắc chắn rằng không có ActiveX điều khiển đang sử dụng ActiveXevent script để xóa Nếu có ActiveX điều khiển đang sử dụng script, lần đầu làm theo cách sau:

- Bỏ cái ActiveX evenr script có liên quan trong hộp Events của mỗi ActiveX điều khiển mà có thể sử dụng nó

- Chọn tất cả cửa sổ và cập nhật số lần sử dụng

b. Sử dụng Classic View, trong hộp Script, kéo rộng ActiveX Event, nhấp chuột phải lên tên của ActiveX script và nhấp Delete Khi một tin nhắn xuất hiện, nhấp Yes ActiveX event script bị xóa

Trang 25

12. Tạm dừng hoạt động của Script khi đang Run Time.

Theo Mặc định, khi WindowView đang chạy, logic đang chạy và script đồng bộ thực hiện Bạn có thể tạm dừng hoạt động script tại thời gian chạy bởi logic đang dừng Sau khi tạm dừng bạn có thể tiếp tục cho script chạy

Để tmaj dừng hoạt động script tại thời gian chạy từ menu

- Trên menu Logic, nhấp Halt Logic Các sctipt đồng bộ dừng Cácscript không đồng bộ tiếp tục chạy nhưng script không đồng bộ mới không được bắt đầu

Để tạm dừng hoạt động script tại thời gian chạy với script

- Ghi giá trị 0 vào tag $LogicRunning để hệ thống tạm dừng Các Script đồng bộ ngưng chạy Các script không đồng bộ tiếp tục chạy nhưng các script không đồng bộ mới không bắt đầu được

Để hoạt động script chạy trở lại tại thời gian chạy

- Trên menu Logic, nhấp Start Logic Hoạt động Script chạy trở lại

Để hoạt động script chạy trở lại tại thời gian chạy với script

- Ghi giá trị 1 vào tag $LogicRunning để tạm ngưng hệ thống Tag

hệ thống $LogicRunning phải chứa trong script không đồng bộ đang hoạt động tại thời gian logic tạm ngưng

13. $LogicRunning System tag

Hệ thống theo dõi và/hoặc điều khiển script đang chạy

Trang 26

Không có khái niệm riêng về trương trình con trong cùng một tập lệnh, ví

dụ thủ tục “Sub” trong Visual Basic Cấu trúc một tập lệnh trong nhiều chươngtrình con, bạn phải tạo một tùy chỉnh QuickFunction cho mỗi chương trình con

Có một vài cách để làm thẻ tham khảo

• Để tham khảo đến một tag được định nghĩa trong thư viện tagname địa phương, đơn giản sủ dụng tagname

Trang 27

• Đẻ tham khảo đến một trường chấm cụ thể, bằng cách sử dụng định

dạng tham khảo thông thường (tagname, Dotfield).

• Bạn cũng có thể định nghĩa biến địa phương có phạm vi giới hạn đếntập lệnh hiện tại

CÁC GIÁ TRỊ DỮ LIỆU BẰNG CHỮ

• Bạn có thể xác định các giá trị số nguyên trong ký hiệu thập phân và

thập lục phân Ví dụ, 0.001 hoặc 1E-3.

• Để xác định giá trị Boolean, sử dụng giá trị số không cho FALSE và

Khi bạn lưu một tập lệnh, Script Editor sẽ tự động kiểm tra nó cho đúng cú

pháp Bạn cũng có thể bắt đầu xác nhận thủ công bằng cách click nút nhấn Validate

GỌI CÁC HÀM TIÊU CHUẨN

Các hàm tiêu chuẩn được xác định trước với InTouch HMI

CÚ PHÁP CÁC HÀM GỌI TIÊU CHUẨN

Cú pháp để gọi một hàm tập lệnh được xác định trước phụ thuôc vào hay không và hàm trả lại kết quả như thế nào

Một vài hàm không trả lại bất kỳ giá trị nào, một vài hàm trả lại một kết quả tùy ý nó có thể được gán đến một tag hoặc sử dụng trong một biểu thức, một vài hàm trả lại một kết quả mà nó phải đước gán đến một tag hoắc sử dụngtrong một hàm

Để xác định loại hàm, nhìn vào mô tả hàm Mỗi sự miểu tả hàm sẽ có một danh sách cú pháp cho thấy dù hàm trả lại kết quả và cho dù đó là kết quả tùy ý

Để gọi một hàm không trả lại một kết quả:

• Sử dụng chỉ tên hàm (và tham số, nếu có) trong một câu lệnh Ví dụ:

functionName (Parameters);

Để gọi một hàm trả lại mà kết quả của nó được gán

• Sử dụng tên hàm (và tham số, nếu có) bất cứ đâu trong một hàm tại

đó bạn có thể sử dụng giá trị bằng chữ hoặc một tagname của loại dữliệu có liên quan Ví dụ, trong một giá trị gán:

ResultsTagname = functionName (Parameters);

Trang 28

Hoặc trong gọi hàm lồng nhau, sử dụng nó như một tham số của hàm khác:

OtherFunction (FunctionName(Parameters));

GỌI MỘT HÀM TRẢ LẠI MỘT KẾT QUẢ TÙY Ý:

• Sử dụng một trong hai thủ tục cho trước

TRUYỂN CÁC THAM SỐ ĐẾN MỘT HÀM

Tham số đến các hàm tiêu chuẩn xác định trước thông thường đước gửi bằng

giá value Điều đó có nghĩa là bạng có thể gửi bất cứ biểu thức hợp lệ như một

tham số, miễn là biểu thức đánh giá đến loại dữ liệu đó yêu cầu cho tham số nhưvậy biểu thức có thể bao gồm các giá trị chữ, tag tham khảo và hàm gọi, tất cảliên kết với nhau bằng các toán tử phù hợp để biết thêm thông tin về các biểuthức và các toán tử

Khi tập lệnh gọi hàm, thì biểu thức đánh giá và kết quả giá trị gửi đến hàm

Tuy nhiên, có một vài hàm yêu cầu một tag tham chiếu như một tham số Ví dụ: RecipeSelectRecipe(Filename, RecipeName, Number);

Trong ví dụ này, tham số RecipeName phải là một tag reference (đó là, bạn

phải sử dụng một chữ tagname cho tham số RecipeName ) Bạn không thể gửimột chuỗi biểu thức để thay thế, ngay cả khi nếu biểu thức đó đánh giá đến mộttagname hợp lệ

Chú ý: một vài hàm kết thừa xác định trước với chỉ một tham số (ví dụ,

Ack() không theo cú pháp tiêu chuẩn của tham số gửi đến trong dấu ngoặc đơn.Thay vào đó, tham số được tách từ tên hàm bằng khoảng trống Kiểm tra cú phápmiêu tả trong tải liệu hàm nếu bạn nghi ngờ về một hàm đặc biệt

GỌI HÀM TÙY CHỈNH (QUICKFUNCTIONS)

Gọi một QuickFunction tùy chỉnh hơi khác từ gọi môt hàm tiêu chuẩn xácđịnh trước:

• Từ khóa CALL phải đứng trước tên QuickFunction

• Kết quả trả lại bới QuickFunction chúng luôn luôn túy chọn, bạn có thể sử dụng nó, nhưng bạn không cần phải

Gọi một QuickFunction không trả lại một kết quả

• Sử dụng tên hàm (và tham số, nếu có) đứng trước bởi từ khóa CALL trong một câu lệnh Ví dụ:

CALL QuickFunctionName(Parameters);

Gọi một QuickFunction trả lại một kết quả

• Làm một trong những điều sau đây:

+ Gọi QuickFunction nếu như nó không trả lại kết quả (xem thủ tục

trước đó)

+ Sử dụng tên hàm (và tham số, nếu có) đứng trước bằng từ khóa

CALL bất bứ đâu trong một tập lệnh tại đó bạn có thể sử dụng một

Trang 29

giá trị chữ hoặc một tagname của loại dữ liệu có liên quan Ví dụ,trong một giá trị gán:

ResultsTagname = CALL QuickFunctionName (Parameters);

Hoặc trong một gọi hàm lồng nhau, sử dụng nó như một tham sốmột hàm tiêu chuẩn:

OtherFunction (CALL FunctionName (Parameters));

Chú ý: Bạn không thể gọi QuickFunction lồng nhau vì vậy mộ

QuickFunction nó sử dụng như một thông số của QuickFunction

khác Ví dụ, Call QF1(Call QF2()); nó không phải là một câu lệnh

Khi câu lệnh này được thực thi, ValueExpression nó được viết đến một tag

được đề cập đến bởi Tagname ValueExpression có thể là bất cứ biểu thức hợp lệ

nào có thể bao gồm các giá trị chữ, tag tham chiếu và hàm gọi, tất cả được liênkết với nhau bẳng các toán tử hợp lệ

Trang 30

Chú ý: để tính toán số, luôn luôn lựa chọn toán hạng sao cho kết quả phép

tính nó vẫn nằm trong phạm vi giá trị của số thực Mặt khác, kết quả sẽ khôngchính xác

Bất cứ giá trị nguyên hoặc thực

Loại dữ liệu của giá trị trả lại:

Bất cứ giá trị nguyên hoặc thực

Loại dữ liệu của giá trị trả về:

Số nguyên hoặc số thực

Trang 31

Loại dữ liệu của kết quả trả về:

Bât cứ giá trị số nguyên

Loại dữ liệu của kết quả trả về:

Số nguyên

Dịch trái: SHL và dịch phải: SHR

Dịch thư viện biểu diễn của một giá trị số nguyên sang phải hoặc trái bởi một

số xác định của vị trí bit Toán hạng bên trái là giá trị sẽ được chuyển sang, toánhạng bên phải là số vị trí bit Dịch các bit ra khỏi một từ sẽ bị mất vị trí bit bỏtrống bởi việc dịch sẽ đặt bẳng 0

Intag = inTag SHL 1; có một số kết quả dưới đây khi thực hiện lặp lại của

một tag giá trị ban đầu của 5

Sự lặp đi lặp lại Kiểu nhị phân Tag giá trị

Trang 32

Phép toán AND: &

Só sánh đại diện nhị phân của hai số nguyên, bit của bit và trả lại một kết quảtheo bảng dưới đây:

Bit trong toán hạng đầu

tiên Bit trong toán hạng thứ hai Bit kết quả

Bạn có thể sử dụng toán tử này một cách nhánh chóng “mask out” (thiết lập

là 0) một vài phần của một mẫu bit Ví dụ, lệnh mặt nạ dưới đây lên tới 24 bits

của tag IntTag:

IntTag = IntTag & 255

Như được cho thấy trong bảng,kết quả bit luôn luôn 0 nếu một toán hạng bits

là 0 Trong số nhị phân đại diện của 255, chỉ thấp hơn 8 bits là 1, 24 vẫn còn bits gây ra tất cả các bit tương ứng trong kết quả được thiết lập bẳng 0

Logic phân ly: OR

Trả về giá trị TRUE nếu ít nhất một toán hạng rời rạc nó TRUE, mặt khác trả

về FALSE Bảng sự thật của toán tử nó như dưới đây:

Trang 33

Trả về TRUE nếu toán tử rời rạc FALSE và ngược lại Bảng sự thật của toán

tử như dưới đây:

Nhỏ hơn hoặc bằng a <= a nhỏ hơ hoặc bằng b

Lớn hơn hoặc bằng >= a lớn hơn hoặc bằng b

Không bằng a<>b a không bằng b

Toán hạng hợp lệ:

Giá trị của bất cứ loại dữ liệu nào (cả hai giá trị của cùng loại dữ liệu)

Loại dữ liệu của kết quả trả về:

Rời rạc

XẮP XẾP THỨ TỰ ĐÁNH GIÁ CỦA CÁC TOÁN TỬ:

Trong bất cứ biểu thức nào, bạn có thể sử dụng dấu ngoặc đơn để buộc cáctoán tử đánh giá theo một thứ tự nhất định Công việc này cũng giống như trongbất kỳ biểu thức toán học nào Nếu bạn không sử dụng dấu ngoặc đơn, biểu thứccủa bạn đánh giá dựa trên quy mặc định các quy tắc thứ tự của các toán tử Hoạtđộng với cấp độ thứ tự cao nhất nó thực hiện đầu tiên, dưới đây hoạt động vớicấp độ thứ tự cao thứ hai và v.v.v

Trang 34

Bảng dưới đây cho thấy cấp độ thứ tự của mỗi toán tử các toán tử trên cùngmột hàng có cùng một cấp độ thứ tự.

-,NOT,~ Thứ tự cao nhất

**

*,/,MOD+,-

= Thứ tự thấp nhất

CHUYỂN ĐỔI LOẠI DỮ LIỆU NGẦM ĐỊNH:

InTouch HMI ngôn ngữ tập lệnh cung cấp chuyển đổi giá trị ngầm định tronggán giữa loại dữ liệu nào đó Tuy nhiên, nó có thể tiến đến kết quả bất ngờ, vỉ vậybạn chỉ nên sử dụng tính năng này với sự thận trọng

Bảng dưới đây cho thấy chuyện gì sẽ xảy ra khi bạn gán một giá trị của mộtloại nào đó đến một tag của loại khác

Rời rạc Số nguyên Một giá trị của 0 nó hiểu như FALSE

Bất cứ giá trị khác nó hiểu như TRUERời rạc Số thực Một giá trị của 0 nó hiểu như FALSE

Bất kỳ giá trị khác nó hiểu như TRUE

Số nguyên Rời rạc Một giá trị của FALSE nó chuyển thành

0 Một giá trị của TRUE nó chuyển thành1

Số nguyên Số thực Chỉ giá trị trước dấu phân cách thập phân

được sử dụng Tất cả các chữ số thập phân được loại bỏ

Số thực Rời rạc Một giá trị của FALSE nó chuyển thành

0 Mộ giá trị của TRUE nó chuyển thành 1

Số thực Số nguyên Giá trị lưu giữ không cần thay đổi

Để biết thêm thông tin về cách sử dụng các hàm tập lệnh để chuyển đổi giữacác loại dữ liệu khác nhau

VÍ DỤ CHO BIỂU THỨC:

Bảng dưới đây cho thấy một vài biểu thức hợp lệ, cùng với kết quả của biểuthức và loại dữ liệu của kết quả

Trang 35

Biểu thức Loại dữ liệu của

kết quả

Kết quả

NOT (37 MOD 4 == 1) Rời rạc FALSE

InfoAppActive

(InfoAppTile(“xyz”)) ==1

Rời rạc TRUE nếu một quá trình

gọi “xyz” nó hoạt động

“Batch” + Text (IntTag,

“000”)

Tin nhắn “Batch 010” nếu IntTag

có một giá trị của 10Bảng dưới đây cho thấy một vài biểu thức hợp lệ, cùng với lý do tại saochúng hợp lệ

NOT (37 MOD 4) NOT yêu cầu một toán hạng rời rạcNOT 37 MOD 4 == 1 NOT có một thứ tự cao hơn các toán tử

khác, vì thế InTouch HMI thử ứng dụngNOT đến giá trị số nguyên của 37 thay kết quả rời rạc của so sánh

“Batch” + IntTag Khi sử dụng toán tử + để nối các chuỗi

thì cả hai toán tử phải là chuỗi

SỬ DỤNG CHƯƠNG TRÌNH CÓ ĐIỀU KIỆN CẤU TRÚC PHÂN

NHÁNH:

Bạn có thể tự động điều khiển thực hiện phần của tập lệnh dựa trên điều

kiện nào đó được đáp ứng InTouch HMI hỗ trợ IF-THEN-ELSE điều khiển

cấu trúc của mục đích này

Cú pháp cơ bản của một IF-THEN-ELSE điều khiển cấu trúc như dưới

Trang 36

Condition phải là một biểu thức giá trị rời rạc Phần THEN được thực thi nếu Condition nó TRUE Phần ELSE được thực hiện nếu Condition

nó FALSE

• Phần ELSE không bắt buộc

• Một vài ngôn ngữ chương trình khác cho phép bạn kiểm tra nhiều điều kiện trên cùng cấp độ phân cấp của một cấu trúc IF-THEN-ELSE và cómột phần ELSE chung đó là thực thi nếu tất cả điều kiện đánh giá FALSE (cấu trúc IF-ELSEIF-ELSE trong Visual Basic là một ví dụ của điều này) Nó không thể trong InTouch HMI 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ì thế, để có một phần đơn của mã để hoạt động như mã ELSE cho tất cả điều kiện, bạn phải đặt nó trong phần ELSE của cấu trúc IF-THEN-ELSE tại cấp độ lồng nhau trước đó

Cấu trúc điều kiện đơn:

Tập lệnh dưới đây cho thấy một cấu trúc điều kiện đơn, nếu SuccessTag làTRUE, the “Success” của sổ mở, mặt khác “Failure” cửa sổ mở

Ví dụ tập lệnh 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 câu lệnh IFđơn như thế này:

IF OpenThisWindow == 1 THEN Show “ This Window”

Nó không làm việc trên InTouch HMI Cho mỗi câu lệnh IF, phải là một câu lệnh ENDIF để kết thúc.

Ví dụ tập lệnh không hợp lệ (Lồng khộng đúng):

Nếu bạn quen thuộc với một ngôn ngư như Visua Basic, bạn có thể muốn

để viết một cấu trúc điều kiện với nhiều điều kiện và một điều kiện mặc địnhnhư sau:

Trang 37

Nó không làm việc trong InTouch HMI Mỗi IF mở một cấp độ lồng mới

và phải có một câu lệnh tương đương ENDIF

Sử dụng chương trình lặp:

Lặp cho phép bạn thực hiện một phần mã lặp lại InTouch HMI chỉ hỗ trợ

lặp FOR Một lặp FOR làm việc bằng sự kiểm tra giá trị của một biến vòng

lặp số đó nó tăng hoặc giảm với mỗi vòng lặp đi lặp lại Vòng lặp thực thi đếnkhi giá trị của biến vòng lặp đạt đến một giới hạn cố định

• StarExpression cài đặt giá trị bắt đầu của phạm vi vòng lặp

EndExpression cài đặt giá trị kết thúc của phạm vi vòng lặp

• STEP Change Expression lựa chọn cài đặt giá trị mà theo tag vòng lặp nó tăng hoặc giảm trong mỗi vòng lặp; nếu bạn không chỉ rõ nó , một mặc định của 1 nó sử dụng

Khi bạn thực thi một vòng lặp FOR, InTouch HMI:

1 Cài đặt LoopTag giá trị của StartExpression.

2 Kiểm tra xem LoopTag nếu lớn hơn EndExpression Nếu như vậy, InTouch HMI thoát khỏi vòng lặp (Nếu ChangeExpression

nó phủ định, InTouch HMI kiểm tra xem LoopTag nó nhỏ hơn EndExpression).

3 Thực thi các câu lệnh trong vòng lặp

4 Tăng LoopTag bằng giá trị của ChangeExpression (1 trừ khi có

quy định khác)

5 Lặp lại các bước 2 đến 4

Nên nhớ các quy tắc dưới đây khi làm việc với vòng lặp FOR:

Vòng lặp FOR có thể lồng nhau Số tối đa của các cấp độ lồng

phụ thuộc trên bộ nhớ có sẵ và tải nguyên hệ thống

Mội câu lệnh FOR, phải có một câu lệnh kết thúc NEXT.một câu lệnh NEXT luôn luôn ứng dụng đến câu lệnh FOR gần

nhất trước đó trên cùng một cấp độ lồng

LoopTag phải là một tag số (hoặc biến địa phương).

StartExpression phải là hàm hợp lệ mà đánh giá đến một kết

quả số

Nếu ChangeExpression nó xác thực, EndExpression phải lớn hơn StartExpression; nếu ChangeExpression nó phủ định,

Trang 38

StartExpression phải lớn hơn EndExpression Mặt khác, vòng

lặp không bặt đầu

Thoát một vòng lặp, sử dụng câu lệnh EXIT LOOP Để biết

thêm thông tin

• Có một thời gian giới hạn của các vòng lặp

Ảnh hưởng của các vòng lặp đến các quá trình chạy khác:

Trong một vòng lặp FOR đang thực thi, tất cả các quá trình chạy kháctrong WindowView đều tạm dừng Điều này bao gồm các khu vực dưới đây:

• Các tập lệnh khác, bao gồm không đồng bộ QuickFunctions

Bạn có thể gọi tạm dừng các quá trình chạy khác bằng đặt vòng lặpLOOP trong một không đồng bộ QuickFunction

Thời gian giới hạn của thực thi vòng lặp:

Để tránh các vòng lặp vô hạn, có thời gian giới hạn trong các vòng lặpFOR phải hoàn thành thực thi Nếu một vòng lặp không hoàn thành thực thisau khoảng thời gian này WindowViewier tự động kết thúc nó và viết một tinnhắn về việc kết thúc đến Log Viewer

Trang 39

Thời gian giới hạn mặc định là 5 giây Bạn có thể tùy chỉnh nó bằng việcthêm dòng dười đây đến file Intouch.ini trong thư mục ứng dựng của bạn.

LoopTimeout = x

Thay thế x với thời gian giới hạn trong vài giây

Chú ý: thới gian giới hạn nó được kiểm tra chi tại lệnh NEXT của vòng

lặp Về việc đó, phiên đầu tiên của vòng lặp luôn luôn được thực thi, ngay cảkhi nó thực thi dài hơn thời gian giới hạn

DIM LineCounter AS INTEGER;

DIM TagCounter AS INTEGER;

FOR LineCounter = 1 TO 10

FOR TagCounter = 1 TO 100

IndirectInteger.Name = “Line” +Text(LineCounter, “00”) + “_Tag” +Text(TagCounter, “000”);

• Các biến địa phương chỉ tồn tại trong phạm vi của tập lệnh trong đó

họ khai báo Họ bỏ giá trị của họ khi tập lệnh thực thi hoàn thành Chúng không thể tham chiếu bằng bất cứ tập lệnh khác trong ứng dụng của bạn

• Các giá trị địa phương không có dotfields

• Các biến địa phương không đếm tới tag đếm

Trước khi bạn có thể sử dụng một biến địa phương trong một tập lệnh, bạnphải khai báo nó, mặt khác, xem xét nó tham chiếu môt tagname Bạn có thểkhai báo các biến địa phương đó có cùng tên như các tag

Trang 40

Khai báo một biến đặc trưng :

Bạn có thể khai báo các biến đặc trưng bất cứ đâu trong tập lệnh của bạn,miễn là bạn khai báo chúng trước sử dụng đầu tiên của chúng Để khai báomột biến địa phương, sử dụng lệnh dưới đây:

DIM LocVarName [As DataType];

LocVarName nó là tên của biến đia phương Tên phải theo quy ước củatagnames

DataType nó là loại dữ liệu của biến địa phương Các giá trị hợp lệ làDiscrete, Integer, Real và Message Nếu bạn không chỉ rõ tùy chọn, Integer

Để khai báo một giá trị số nguyên:

DIM MyLocalIntVar As Integer;

Để khai báo nhiều các giá trị số thực:

DIM MylocalRealVar1 As Real;

DIM MylocalRealVar2 As Real;

Lệnh dưới đây không hợp lệ:

DIM MylocalRealVar1, MyLocalRealVar2 As Real;

Các xung đột tên giữa các giá trị địa phương và các Tag:

Bạn có thể khai báo một biến đia phương với cùng tên như một tag đangtổn tại Tuy nhiên, khi bạn tham chiếu đến tên đó trong một tập lệnh, biến địaphương luôn luôn được ưu tiên hơn tag Ví dụ, cho rằng bạn có một tag sốnguyên đang tồn tại gọi “iTag” và bạn chạy tập lệnh dưới đây:

DIM iTag as Integer;

iTag = 20;

Trong tình huống này, giá trị gán ghi một giá trị chỉ đến biến địa phương.Giá trị của tag có cùng tên vẫn không thay đổi

V CÁC HÀM TẬP LỆNH TÙY CHỈNH

InTouch HMI QuickFunction các tập lệnh đó trong mội trường khác có thể

được biết như macros, subroutines hoặc procedures.

VỀ QUICKFUNCTIONS:

QuickFunctions là các tập lệnh bạn có thể gọi tất cả tử các tập lệnh khác vàliên kết hình ảnh động lợi thế chính của QuickFunctions là một sự giảm mãtrùng lặp

Bạn có thể bỏ qua giá trị đến QuickFunctions, mà có thể sử dụng các giá trị

và trả lại các kết quả

Ngày đăng: 17/05/2016, 14:35

HÌNH ẢNH LIÊN QUAN

Bảng dưới đây cho thấy cấp độ thứ tự của mỗi toán tử. các toán tử trên cùng một hàng có cùng một cấp độ thứ tự. - Ngôn Ngữ Script trong SCADA
Bảng d ưới đây cho thấy cấp độ thứ tự của mỗi toán tử. các toán tử trên cùng một hàng có cùng một cấp độ thứ tự (Trang 34)
Bảng dưới đây cho thấy chuyện gì sẽ xảy ra khi bạn gán một giá trị của một loại nào đó đến một tag của loại khác. - Ngôn Ngữ Script trong SCADA
Bảng d ưới đây cho thấy chuyện gì sẽ xảy ra khi bạn gán một giá trị của một loại nào đó đến một tag của loại khác (Trang 34)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w