CPU điều khiển các hoạt động bên trong PLC. Bộ
xử lý sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện
thứ tự từng lệnh trong chương trình, sẽ đóng hay ngắt các đầu ra. Các trạng
thái ngõ ra ấy được phát tới các thiết bị liên kết để thực thi. Và toàn bộ các
hoạt động thực thi đó đều phụ thuộc vào chương trình điều khiển được giữ trong
bộ nhớ.
PLC thực chất chạy bằng mã máy với hệ thống số nhị phân, do đó tốc độ quét vòng chương trình có thể đạt đến vài phần ngàn giây, các Software dùng để lập trình PLC tích hợp cả phần biên dịch. Các dòng lệnh khi lập trình chúng ta đưa từ chương trình vào thì trình biên dịch sẽ chuyển đổi sang mã máy và ghi từng bit “0” hay bit “1” lên đúng vào vị trí có địa chỉ đã được quy ước trước trong PLC lên PC được thực thi xảy ra ngược lại và trình biên dịch đã làm xong nhiệm vụ của mình trước khi trả chương trình lên Monitor..
Hệ thống Bus là tuyến dùng để truyền tín hiệu,
hệ thống gồm nhiều đường tín hiệu song song: 9/130
- Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau.
- Data Bus: Bus dùng để truyền dữ liệu.
- Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng bộ các hoạt động trong PLC.
- Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau.
- Data Bus: Bus dùng để truyền dữ liệu.
- Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng bộ các hoạt động trong PLC.
Trong PLC các số liệu được trao đổi giữa bộ
vi xử lý và các modul vào ra thông qua Data Bus. Address Bus và Data Bus gồm 8
đường, ở cùng thời điểm cho phép truyền 8 bit của 1 byte một cách đồng thời hay
song song.
Nếu một modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển tất cả trạng thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu ra xuất hiện trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus. Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC. Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế.
Nếu một modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển tất cả trạng thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu ra xuất hiện trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus. Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC. Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế.
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông
tin giữa CPU, bộ nhớ và I/O. Bên cạnh đó,CPU được cung cấp một xung Clock có tần
số từ 1¸8 MHZ. Xung này quyết định tốc độ hoạt động của PLC và cung cấp các yếu
tố về địnhthời, đồng hồ của hệ thống.
* Vòng quét của
chương trình:
PLC thực hiện các công việc (bao gồm cả
chương trình điều khiển) theo chu trình lặp.
Mỗi vòng lặp được gọi là một vòng quét (scancycle). Mỗi vòng quét được bắt đầu bằng việc chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc của khối OB1.
Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các nội dung của bộ đệm ảo Q tới các cổng ra số. Vòng quét được kết thúc bằng giai đoạn xử lý các yêu cầu truyền thông (nếu có) và kiểm tra trạng thái của CPU. Mỗi vòng quét có thể mô tả như sau:
Mỗi vòng lặp được gọi là một vòng quét (scancycle). Mỗi vòng quét được bắt đầu bằng việc chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc của khối OB1.
Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các nội dung của bộ đệm ảo Q tới các cổng ra số. Vòng quét được kết thúc bằng giai đoạn xử lý các yêu cầu truyền thông (nếu có) và kiểm tra trạng thái của CPU. Mỗi vòng quét có thể mô tả như sau:
Chú ý: Bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truy nhập cổng tương tự được thực hiện trực tiếp với cổng vật lý chứ không thông qua bộ đệm.
Thời gian cần thiết để cho PLC thực hiện được một vòng quét được gọi là thời
gian vòng quét (Scan time). Thời gian vòng quét không cố định, tức là không phải
vòng quét nào cũng được thực hiện trong một khoảng thời gian như nhau. Có vòng
quét được thực hiện lâu, có vòng quét được thực hiện nhanh tuỳthuộc vào số lệnh
trong chương trình được thực hiện, vào khối lượng dữ liệu truyền thông. Trong
vòng quét đó. Như vậy giữa việc đọc dữ liệu từ đối tượngđể xử lý, tính toán và
việc gửi tín hiệu điều khiển đến đối tượng có một khoảngthời gian trễ đúng bằng
thời gian vòng quét. Nói cách khác, thời gian vòng quét quyết định tính thời gian
thực của chương trình điều khiển trong PLC.
Thời gian vòng quét càng ngắn, tính thời gian thực của chương trình càng cao.
Thời gian vòng quét càng ngắn, tính thời gian thực của chương trình càng cao.
Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ khối OB40,
OB80,...
Chương trình của các khối đó sẽ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có thể thực hiện tại mọi vòng quét chứ không phải bị gò ép là phải ở trong giai đoạn thực hiện chương trình. Chẳng hạn một tín hiệu báo ngẵt xuất hiện khi PLC đang ở giai đoạn truyền thông và kiểm tra nội bộ, PLC sẽ tạm dừng công việc truyền thông, kiểm tra, để thực hiện ngắt như vậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện trong vòng quét.
Do đó để nâng cao tính thời gian thực cho chương trình điều khiển, tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc quá lạm dụng việc sử dụng chế độ ngắt trong chương trình điều khiển.
Chương trình của các khối đó sẽ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có thể thực hiện tại mọi vòng quét chứ không phải bị gò ép là phải ở trong giai đoạn thực hiện chương trình. Chẳng hạn một tín hiệu báo ngẵt xuất hiện khi PLC đang ở giai đoạn truyền thông và kiểm tra nội bộ, PLC sẽ tạm dừng công việc truyền thông, kiểm tra, để thực hiện ngắt như vậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện trong vòng quét.
Do đó để nâng cao tính thời gian thực cho chương trình điều khiển, tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc quá lạm dụng việc sử dụng chế độ ngắt trong chương trình điều khiển.
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực tiếp với cổng vào/ra mà chỉ thông qua bộ nhớ đệm của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đêm ảo với ngoại vi trong giai đoạn 1 và 3 do hệ điều hành CPU quản lý. Ở một số modul CPU, khi gặp lệnh vào/ra ngay lập tức hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt, để thực hiện với cổng vào/ra.
Không có nhận xét nào:
Đăng nhận xét