II.3.1 Mở một script để soạn thảo: Để mở một application script : 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ào Application.. Trong m
Trang 1Chương I: Giới thiệu
I.1 khái niệm
I.2 Phân loại
I.3 Cấu trúc một hệ thống Scada
Chương II: Phần mềm Scada (Intouch Wonderware v10.1)
II.1 Giới thiệu
II.2 Giới thiệu về tập lệnh
II.3 Tạo và chỉnh sửa các Script
II.4 Script Triggers
II.5 Ngôn ngữ lập trình
Chương III: Tổng quan về PLC và Module mở rộng
III.1 Giới thiệu
III.2 Ưu – Nhược điểm
III.3 Cấu trúc của PLC
III.4 PLC Mishubishi
Phần II: Hệ thống tủ nhiệt và bồn trộn
Phần III: Tổng kết
Trang 2LỜI MỞ ĐẦU
Đã từ lâu con người đã đưa máy móc vào trong lao động sản xuất, cũng từ đó mà chúng ta ngày càng đưa máy móc vào làm thế cho con người ở những công việc nặng nhọc, nguy hiểm, hay đơn giản là những công việc mang tính chất lặp đi lặp lại nhiều lần như công việc phun nước tưới cây ở công viên, vườn hoa hay như việc báo chuông ở công sở, trường học…
Ngày nay chúng ta sử dụng tự động hóa ngày càng cao vào trong đời sống sinh hoặt, sản xuất và với yêu cầu điều khiển tự động, linh hoạt, tiện lợi, gọn nhẹ Mặt khác nhờ vào công nghệ thông tin, công nghệ điện tử phát triển mạnh mẽ đã giúp cho việc ra đời một thiết bị điều khiển khả trình PLC như một điều tất yếu
Để thực hiện công việc một cách khoa học nhằm đạt được số lượng sản phẩm lớn, nhanh, đạt được yêu cầu kĩ thuật đặt ra mà lại hiệu quả về mặt kinh tế Từ đó, khái niệm về hệ thống Scada( hệ thống giám sát và thu thập dữ liệu) ra đời Nó giúp con người có thể quản lý, giám sát và thu thập dữ liệu tốt hơn nhờ vào các các cảm biến và các cơ cấu chấp hành Một hệ thống Scada cơ bản gồm có các thành phần như: trạm điều khiển giám sát trung tâm, trạm thu thập dữ liệu trung gian, hệ thống truyền thông, giao diện người – máy HMI Hiện nay, trên thế giới có nhiều các phần mềm Scada như Intouch Wonderware, Win CC,…Sau đây chúng em tìm hiểu về một hệ thống Scada nhỏ sử dụng phần mềm Intouch Wonderware, PLC Mitshubishi…cho hệ thống lò nung nhiệt
và bồn pha chế các hỗn hợp theo tỉ lệ
Do hoàn thành trong thời gian ngắn và những giới hạn về mặt kiến thức nên chúng em không chánh khỏi những thiếu sót Rất mong các thầy cô đóng góp ý kiến để chúng em có thể hoàn thiện hơn ở đồ án chuyên ngành Chúng em xin ghi nhận và chân thành cảm ơn
Trang 3LỜI CẢM ƠN
Để hoàn thành đồ án môn học này một cách nhanh nhất và đạt kết quả cao nhất, chúng em được
sự giúp đỡ của thầy cô trong khoa cùng các thầy cô giáo trong trường Chúng em xin gửi lời cám
Trang 4NHẬN XÉT
(Giáo viên hướng dẫn)
TP.HCM, ngày… tháng… năm 2013
Giáo viên hướng dẫn
Trang 5NHẬN XÉT
(Giáo viên phản biện)
TP.HCM, ngày … , tháng …, năm 2013
Giáo viên phản biện
Trang 6Trong hệ thống điều khiển giám sát thì HMI là một phần quan trọng không chỉ ở 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àn hì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ền thông và phần cứng được đặt lên hàng đầu và cần sự quan tâm nhiều hơn Trong nhữ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ải phá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ựa chọ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
I.2 PHÂN LOẠI:
Các hệ thống SCADA được phân làm 4 nhóm chính với các chức năng :
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ệu bằ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áy khia 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 Khi xả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
Trang 7Hệ 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 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àn xuấ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ều khiể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
I.3 CẤU TRÚC MỘT HỆ THỐNG 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ạng truyề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
Hệ thống truyền thông: bao gồm các mạng truyền thông công nghiệp, các thiết bị viễn thông
và các thiết bị chuyển đổi dồn kênh có chức năng truyền dữ liệu cấp trường đến các khối điều khiển
và máy chủ
Giao diện người - máy HMI (Human - Machine Interface): Là các thiết bị hiển thị quá trình
xử lí dữ liệu để người vận hành điều khiển các quá trình hoạt động của hệ thống
Trang 8CHƯƠNG II: PHẦN MỀM SCADA INTOUCH WONDERWARE
(Version 10.1)
II.1 GIỚI THIỆU:
Trong 25 năm qua, InTouch Wonderware luôn là một phần mềm giao tiếp người - máy (HMI) đứng đầu thế giới, với khả năng sử dụng dễ dàng, luôn đổi mới dẫn đầu thị trường, bảo vệ tuyệt đối các giá trị đầu tư, đồ họa tươi sáng, kết nối vượt trội, hỗ trợ tốt nhất cho các ngành công nghiệp với một hệ sinh thái rộng mở
Nó tạo ra các giao diện 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
- 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
Trang 9- 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ết nố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
Trang 10II.2 GIỚI THIỆU VỀ TẬP LỆNH:
Bạn có thể sử dụng các câu lệnh trong Intouch, QuickScript, để xây dựng nhiều những ứng dụng Có bảy loại ngôn ngữ và nhiều chức năng được xây dựng sẵn
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ức nă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ều khiển hoạt động
X 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 trong ngôn ngữ script để tạo các hiệu ứng phức tạp trong ứng dụng của bạn
II.2.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 Intouch HMI đ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
II.2.2 Các loại Scripts:
- 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 đóng lạ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
Trang 11- 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
II.2.3 Tạo và soạn thảo Scripts:
Sử dụng Intouch HMI Script Editor để tạo và chỉnh sửa script trong Intouch WindowMaker:
Đây là ví dụ cho một application script Mỗi loại script có một giao diệ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ới từ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
Có những lệnh tương đương và các phép toán nằm ở dưới cùng của trì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 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 đang viết
Nút MEM OLE ở dưới cùng bên phải chỉ hiện ra nếu Manufacturing Engineering Module (MEM) được cài đặt cùng với Intouch HMI Click vào nút này cho phép bạn soạn thảo với MEM
Trang 12II.3 TẠO VÀ CHỈNH SỬA CÁC SCRIPT:
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
II.3.1 Mở một script để soạn thảo:
Để mở một application script :
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ào Application
- Trên menu Special, tại Script và nhấp chuột vào Application Script
Trong mục Condition Type, nhấp vào loại script muốn chỉnh sửa
Để mở một window script:
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ải lê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ào script
- 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ống trong cửa sổ và sau đó kích vào Window Script
Trong mục Condition, nhấp vào các điều kiện để cho script chạy
Để mở một script sự kiện ActiveX:
Thực hiện theo cách sau:
- Sử dụng Classic View, trong hộp thoại Script, mở rộng ActiveX Event 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ào script
- Kích đúp vào đối tượng điều khiển ActiveX được liên kết Kích vào tab sự kiện sau đó kích đúp phần có trong tên script
Để mở một Action script:
Mở cửa sổ chứa thành phần đồ họa action script được liên kết
Nhấp đúp vào thành phần đồ họa cho action script được liên kết
Trong vùng Touch Pushbutton, kích chọn Action Trình soạn thảo script hiện lên
Trong mục Condition Type, kích chọn hoạt động để script chạy
Trang 13Để mở Key, Condition hoặc Data change script
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ào script
- Trên menu Special, trỏ đến Script và sau đó kích vào loại script thích hợp Script Editor hiện
ra Kích vào nút Browse và sau đó chon tên script
Nếu có thể, trong danh sách Condition Type kích vào điều kiện để script chạy
II.3.2 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ạn phả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
II.3.3 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ể in tấ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 ấn trong Windowmaker
Để in một script riêng lẻ:
Mở script trong Script Editor, mở một script để chỉnh sửa
Kích vào nút Print trong thanh công cụ Script được in với máy in mặc định của Window
Để in tất cả các script của một loại đặc trưng
Trên menu File trong WindowMaker, kích Print Hộp thoại WindowMaker Printout xuất hiện
Chọn hộp kiểm tra cho các loại script để in In tất cả các script kích chọn All Scripts
Kích Next Hộp thoại Select Output Destination xuất hiện
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
Kích vào nút Browse để chọn máy in hoặc tìm một tập tin
Kích Print
Trang 14II.4 SCRIPT TRIGGERS:
Tất cả các script Intouch HMI được thực hiện bởi script khởi động Mỗi loạ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ạn muốn để sử dụng để chạy script của bạn Bạn chọn một script khởi động dựa trên mộ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ác trạng thái bên trong
và sự thay đổi của các giá trị tagname Người dùng nhấn phí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
II.4.1 Phân loại:
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 script khác nhau
- Một window script có ba trạng thái: lúc hiện, lúc ẩn và trong khi hiển thị Mỗi lần khởi động
có thể thực hiện một script khác nhau
- Một key script có ba trạng thái: phím lên, phím xuống hoặc trong khi xuống Mỗi lần khởi động có thể thực hiện một script khác nhau
- 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ác nhau
- Một Data change script thực hiện khi giá trị của một tag đã biết hoặ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
- Một ActiveX event script thực hiện một lần khi một sự kiện Active đã biết xảy ra, chẳng hạn như kích chuột lên điều khiển đối tượng X
II.4.2 Chạy các script:
Đối với nhiều loại script bạn có thể sử dụng nhiều cách khởi động và kết hợp với nhiều loại script khác nhau với mỗi cách khởi động
Ví dụ, bạn có thể thiết lập cấu hình một application script để thực hiện một script khi WindowViewer khởi động và script khác tuần hoàn trong khi WidowViewer đang chạy
Trang 15Chọ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
II.4.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ích hoạ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ện mỗi 5000 ms trong khi nhấn phím đã xác định, nó được thực hiện 5 giây sau khi nhấn và giữ phím xuống và cứ mỗi 5 giây sau đó
II.4.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 InTouch HMI 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:
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
Trang 16 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 khi WindowViewer tắt
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
Nhập script của bạn trong cửa sổ
Kích OK
Để xóa một application script:
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
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
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 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
II.4.4 Thiết đặt cấu hình các Window 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ở
Trang 17- 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:
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
Trong danh sách Condition Type, thực hiện một trong những cách sau:
- 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
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
Nhập script của bạn trong cửa sổ
Kích chọn OK
Trang 18Để xóa một window script:
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
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
Trong menu Edit chọn Clear
II.4.5 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 Key Script:
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 19- Để 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
Kích chọn Key và chọn một phím từ hộp thoại Choose Key:
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
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
- 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
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
Nhập script của bạn vào trong cửa sổ
Nhấp OK
Để xóa tất cả key script được liên kết với phím:
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
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
Trên menu Edit, nhấp Clear Script chính và các phần liện quan bị xóa
Trang 20II.4.6 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ạo script 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:
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
- Để 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
Trong hộp Condition, nhập biểu thức mà bạn muốn sử dụng như điều kiện
Trang 21 Bạn có thể nhập một chú thích vào trong hộp Comment
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
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
Nhập script của bạn hoặc điều chỉnh script có sẵn trong cửa sổ
Để 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ích chuộ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
II.4.7 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 khi mộ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:
- 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
Trang 22Để 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
II.4.8 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 Animation Link 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
Trang 23Để thiết lập cho một action script:
Trang 24 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
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
Để xóa tất cả action script có liên quan tới đối tượng đồ họa:
Nhấp đúp vào đối tượng Hộp đặc tính của đối tượng hiện ra
Nhấp bỏ hộp Action Action script sẽ không thực hiện khi thời gian đang chạy Nếu bạn nhấp núp Action, trình soạn thảo sẽ mở ra với action script cuối cùng mà bạn đã lưa cho bất kì đối tượng nào
Trang 25Để xóa từng cái action script:
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
Nhấp vào nút Action Hộp thoại Touch->Action Script hiện ra
Trong danh sách Condition Type, nhấp vào script khởi động
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
II.4.9 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 :Doubleclick
Mộ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
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:
Trang 26 Nhấp vào tab Events
Chọn một sự kiện như click, nhấp đúp, tắt xuống hoặc khởi động lên
Nhấp vào ô Script cho sự kiện Dấu ngoặc vuông xuất hiện
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
Trang 27 Trong hộp Name, bạn có thể thay đổi tên các ActiveX event script
Nhập script của bạn trong cửa sổ
Nhấp OK
Để chỉnh sửa các ActiveX event Script có sẵn
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
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
Chắc chắn rằng không có ActiveX điều khiển đang sử dụng ActiveX event 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
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
II.4.10 Tạm ngưng 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ác script 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
Trang 28Để 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
II.4.11 $LogicRunning System tag
Hệ thống theo dõi và/hoặc điều khiển script đang chạy
Sử dụng : $LogicRunning
Chú ý:
- Cài đặt giá trị 1 bắt đầu cho script chạy Cài đặt giá trị 0 để script dừng khi đang chạy
- Tag hệ thống này tương đương để lựa chọn Start Logic hoặc Halt Logic trên menu Logic trong WindowView
- Bạn không thể dừng script không đồng bộ mà hiện nó đang chạy Tuy nhiên, bạn có thể chặn script mới chạy
Data Type: riêng biệt ( đọc/ghi)
II.5 NGÔN NGỮ LẬP TRÌNH:
Các quy tắc, cú pháp cơ bản:
Chương trình con: 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ương trình con, bạn phải tạo một tùy chỉnh QuickFunction cho mỗi chương trình con
Câu lệnh :
- Một câu lệnh có thể là một giá trị gán, một hàm gọi hoặc là một cấu trúc điều khiển
- Mỗi câu lệnh trong một tập lệnh phải kết thúc với một dấu chấm phẩy (;)
- Bạn có thể có nhiều câu lệnh trong cùng một dòng, miễn mỗi lệnh kết thúc bằng dấu chấm phẩy
- Bạn có thể tản ra một lệnh qua nhiều dòng bằng các sử dụng ngắt dòng (nhấn Enter)
Thụt đầu dòng : Bạn có thể thụt mã tập lệnh của bạn vào trong bằng bất cứ cách nào Thụt đầu dòng không ảnh hưởng đến chức năng
Chú thích: các chú thích được viết trong dấu ngoặc {} Chú thích có thể kéo dài qua nhiều dòng
Các dữ liệu bằng chữ :
Trang 29- 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à 1 cho TRUE
- Để xác định một giá trị chuỗi, kết thúc nó trong dấu ngoặc kép Ví dụ, “this is a string”
Giá trị biểu thức: Giá trị 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
Kiểm tra tính hợp lệ của cú pháp: 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
II.5.1 Các phép toán cơ bản:
Danh sách tất cả dưới đây các toán tử hỗ trợ Để biết thêm thông tin cách sử dụng của một toán
tử cụ thể, xem phần có liên quan
Toán tử Thêm thông tin
Trang 30Chú ý: để 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ông chính xác
II.5.2 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ác toán tử đánh giá theo một thứ tự nhất định Công việc này cũng giống như trong bấ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ức củ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ới cấp độ thứ tự cao thứ hai và v.v.v
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ự
-,NOT,~ Thứ tự cao nhất
**
*,/,MOD +,- SHL,SHR
OR
= Thứ tự thấp nhất
II.5.3 Chuyển đổ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 trong gá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ậy bạ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 gán một giá trị của một loại nào đó đến một tag của loại khác
Dự kiến loại dữ
liệu
Sử dụng loại dữ liệu
Nhận xét 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ư TRUE
Trang 31Rờ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ành 1
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
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 10
Bả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 sao chúng hợp lệ
NOT (37 MOD 4) NOT yêu cầu một toán hạng rời rạc
NOT 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ụng NOT đế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
II.5.4 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 đây:
Trang 32Nên nhớ những quy tắc dưới đây khi làm việc với cấu trúc IF-THEN-ELSE:
- IF-THEN-ELSE cấu trúc có thể lồng nhau, cả hai phần trong THEN và trong ELSE
- Mỗi lệnh IF, phải có một lệnh kết thúc ENDIF Một lệnh ENDIF luôn luôn áp dụng cho lệnh
IF đứng trước gần nhất trên cùng một cấp độ lồng
- 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ở
Trang 33II.5.5 Sử dụng chương trình vòng 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 đến khi giá trị của biến vòng lặp đạt đến một giới hạn cố định
Khi bạn thực thi một vòng lặp FOR, InTouch HMI:
- Cài đặt LoopTag giá trị của StartExpression
- 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)
- Thực thi các câu lệnh trong vòng lặp
- Tăng LoopTag bằng giá trị của ChangeExpression (1 trừ khi có quy định khác)
- 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ố
Trang 34- Nếu ChangeExpression nó xác thực, EndExpression phải lớn hơn StartExpression; nếu ChangeExpression nó phủ định, 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 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ác trong WindowView đều tạm dừng Điều này bao gồm các khu vực dưới đây:
Trang 35- Cập nhật màn hình ( hình ảnh động liên kết, giá trị các màn hình, các xu hướng , các dự án hình ảnh động, bởi vì nó không di chuyển sẽ xuất hiện cho đến khi sau khi hoàn thành vòng lặp
- Các truyền thông I/O Ví dụ, nếu bạn thay đổi giá trị của một tag I/O trong một vòng lặp FOR, chỉ có giá trị sau lặp đi lặp lại cuối cùng nó ghi đến thiết vị I/O
- 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ặp LOOP trong một không đồng bộ QuickFunction
Thời gian giới hạn 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ặp FOR 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 thi sau khoảng thời gian này WindowViewier
tự động kết thúc nó và viết một tin nhắn về việc kết thúc đến Log Viewer
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ệc thêm dòng dười đây đến file Intouch.ini vào trong thư mục cài đặt
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
Trang 36DIM 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”);
IndirectInteger.Value = 0;
NEXT;
NEXT;
II.5.6 Sử dụng các biến đặc trưng:
Bạn có thể khai báo các biến đặc trưng trong một tập lệnh đến lưu trữ tạm thời hoặc các kết quả trung gian Điều này tăng hiệu suất và giúp giữ tag của bạn đếm chậm lại Bạn có thể sử dụng các biến địa phương giống như tagnames trong tập lệnh của bạn Tuy nhiên, có các sự khác nhau đôi chút
- 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ạn phả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
Khai báo cho biến đặc trưng:
Trang 37Có thể khai báo các biến đặc trưng ở bất cứ đâu trong tập lệnh, nhưng cần khai báo chúng trước sử dụng đầu tiên của chúng Để khai báo mộ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ủa tagnames
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 nó sử dụng như mặc định
Bạn có thể sử dụng lệnh DIM riêng biệt của mỗi biến địa phương để khai báo
Bạn có thể khai báo bất cứ số của các biến địa phương, giới hạn bởi bộ nhớ sẵn có
Ví dụ:
Để 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 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 đang tổn tại Tuy nhiên, khi bạn tham chiếu đến tên đó trong một tập lệnh, biến địa phươ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
II.5.7 Các hàm tập lệnh tuy chỉnh:
Trang 38InTouch 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
Quickfunctions:
QuickFunctions là các tập lệnh 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 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ả
QuickFunctions có thể chạy không đổng bộ Không giống các tập lệnh khác, nó có thể chạy trong nền tảng không gây trở ngại dòng chương trình chính Một QuickFunction chạy không đồng
bộ có thể sử dụng các hoạt động tốn nhiều thời gian, như gọi cơ sở dữ liệu SQL
Chú ý: bản đồ QuickFunctions và các đối số của chúng một các cẩn thận, bởi vì nếu bạn muốn
giảm bớt các đối số trong mộ QuickFunction, đầu tiên bạn phải xóa tất cả các gọi đó đến QuickFunction từ mỗi tập lệnh đó sử dụng QuickFunction Sau thay đổi thực hiện, tiếp đó bạn phải gọi QuickFunction vào sau các tập lệnh
Có 3 phần cơ bản của QuickFunction:
- Tên
- Đối số( optional)
- Khối tập lệnh với tùy biến các giá trị trả lại
QuickFunction thực thi bằng việc sử dụng hàm CALL trong một trong hài một liên kết hình ảnh động hoặc tập lệnh khác
Trang 39- Trong hộ Function, nhập một tên của QuickFunction
Trong khu vực Arguments, cho mỗi đối số, nhập một tên phía bên trái và một loại dữ liệu phía bên phải
- Các đối số là các biến địa phương chỉ tồn tại trong QuickFunction trong đó họ định nghĩa Bạn có thể có lên tới 16 đối số trên một QuickFunction Tên đối số có thể có 31 ký tự nhưng không phải khoảng trống tên đối số phải bắt đầu với một ký tự alpha Tên đối số phải duy nhất
- Đánh tập lệnh của bạn trong cửa sổ
- Để gây ra QuickFunction trả lại môt kết quả, thêm vào tập lệnh của bản :RETURN value Value có thê là một giá trị bằng chữ, một biến địa phương hoặc tagname chung hoặc biểu thức
có tính toán Tập lệnh kết thúc tại lệnh RETURN và tiếp tục tại hàm gọi
- Nhấn OK
Để thay đổi một QuickFunction:
- Trong cửa sổ Scripts, mở rộng QuickFunctions, click phải QuickFunction để thay đổi và click Edit Hộp thoại QuickFunctions xuất hiện
- Làm sự thay đổi đến khối tập lệnh và click Ok
Trang 40Chú ý: bạn không thể làm sự thay đổi đến danh sách đối số nếu có gọi đến QuickFunction trong
ứng dụng InTuoch Bạn phải xóa các gọi đó trước, đóng tất cả các cửa sổ InTouch và cập nhật số lần sử dụng
Bạn có thể cấu hình các tập lệnh và liên kết các hình ảnh động để gọi QuickFunction và để
xử lý hoặc cho thấy một giá trị trả về có thể
Một QuicFuntion nó không gọi nếu các giá trị tham số không thay đổi Bạn có thể sử dụng
$second như một tham số để đảm bảo rằng một QuickFunction nó thực thi tại ít hơn mỗi giây
Tạo các quickfunction không đồng bộ:
Bạn có thể định nghĩa QuickFunction để chạy không đồng bộ ( đó là , song song) đến dòng chương trình chính
Để tạo một QuickFunction không đồng bộ:
- Trong Script Editor, tọa một QuickFunction
- Trên menu Options, click Asynchronous
Sự giới hạn của QuickFunctions không đồng bộ:
Bạn không thể:
- Trả lại môt giá trị từ một QuickFunction không đồng bộ