Инструкция по конфигурированию ПЛК Beckhoff | EH_Beckhoff_Configure.pdf | 2Mb | 15.05.2018 | |
TwinCAT for WindowsXP, 7, 10 x32bit | tcat_2110_2254_R3.zip | 65Mb | 15.05.2018 | |
TwinCAT for Windows7 x64bit (на Win10 ставить нельзя ! ) | Tc211x64Engineering_R3_2.11.2254.zip | 51Mb | 15.05.2018 | |
TwinCAT for Windows7, 10 x64bit | Tc211x64Engineering_R3_2.11.2303.zip | 53Mb | 03.03.2019^ | |
Программа настройки спрец.модулей: KL6041(RS485) и др. | KS2000_V4.ZIP | 23Mb | 15.05.2018 | |
Доступ к рабочему столу в контроллерах CX с WinCE | CERHOST.zip | 0Mb | 15.05.2018 | |
Диспетчер задач для WinCE с ЦП ARM | CEProcessV.zip | 0Mb | 15.05.2018 | |
Техническое описание ПЛК Beckhoff BX9000 | BX9000_tech_data.pdf | 0Mb | 23.05.2018 | |
Отчёт о сбоях работы BX и BC при WiFi подключении | BX9000_WiFi_Crash_Report_ru.pdf | 1Mb | 23.10.2014 | |
Техническое описание ПЛК Beckhoff CX90xx | CX9000_tech_data.pdf | 0Mb | 03.12.2014 | |
Полное описание ПЛК Beckhoff CX90xx и переустановки ОС | CX9000_HWen.pdf | 2Mb | 02.02.2013 | |
Коммерческий сайт Beckhoff | https://beckhoff.com/ | |||
Технический сайт Beckhoff | https://infosys.beckhoff.com | |||
Файловый сервер Beckhoff | http://ftp.beckhoff.com/download | |||
Прошивка EasyHome для ПЛК Beckhoff: | — требует покупки лицензии ! | |||
EasyHomeCX-515 для CX9000 (4Mb Flash) | boot_C9c_515-018.zip | 0.6Mb | 07.04.2021 | |
EasyHomeCX-519 для CX900x | boot_C9_519-012.zip | 1.1Mb | 05.07.2023^ | |
EasyHomeCX-517 для CX900x (510 свободных функций) | boot_C9_517-015_bigFF.zip | 1.9Mb | 29.05.2022 | |
EasyHomeCX-519 для CX80xx | boot_C8_519-012.zip | 2.09Mb | 05.07.2023^ | |
EasyHomeCX-517 для CX80xx (510 свободных функций) | boot_C8_517-015_bigFF.zip | 1.9Mb | 29.05.2022 | |
EasyHomeCX-514 для CX1000-xx11 (32Mb RAM) WinCE | boot_C1c_CE_514.zip | 0.8Mb | 05.04.2021 | |
EasyHomeCX-504 для CX10xx-xx11 c WinCE | boot_C1_CE_504-007.zip | 0.5Mb | 15.06.2018 | |
EasyHomeCX-504 для CX10xx-xx21 c WinXP | boot_C1_XP_504-007.zip | 0.5Mb | 15.06.2018 | |
— для обновления заменить только «TCPLC_P_1.wbp» |
Дополнительные рекомендации для проектировщиков, пуско-наладчиков и обслуживающих инженеров:
Особенности проектирования системы Умный Дом на базе контроллеров Beckhoff.
* — информация немного устарела и будет скоро обновлена
^ — недавно обновлено
- Manuals
- Brands
- Beckhoff Manuals
- Desktop
- CX8090
Manuals and User Guides for Beckhoff CX8090. We have 2 Beckhoff CX8090 manuals available for free PDF download: Manual, Documentation
Beckhoff CX8090 Manual (100 pages)
Brand: Beckhoff
|
Category: Controller
|
Size: 5.92 MB
Table of Contents
-
Table of Contents
3
-
1 Notes on the Documentation
5
-
Explanation of Symbols
6
-
Documentation Issue Status
7
-
-
2 For Your Safety
8
-
Intended Use
8
-
Staff Qualification
9
-
Safety Instructions
9
-
-
3 Transport and Storage
11
-
4 Product Overview
12
-
Cx80Xx — System Overview
12
-
CX8030, CX8031 — Introduction
14
-
Technical Data
16
-
Technical Data — PROFIBUS
17
-
Cx80Xx — Microsd Cards
19
-
-
5 Mounting and Wiring
20
-
Mounting
20
-
Dimensions
20
-
Installation on Mounting Rails
20
-
-
Wiring
23
-
Power Supply
23
-
Ethernet
25
-
Profibus
27
-
-
Changing the Battery
31
-
-
6 Parameterization and Commissioning
32
-
DIP Switch
32
-
Setting the IP Adress
34
-
IP Address
34
-
Setting the Address Via DHCP Server
34
-
Subnet Mask
34
-
-
Configuration
36
-
Cx80Xx — Operating System
36
-
Power Supply Terminal
38
-
Profibus
40
-
Web Services
45
-
Real Time Clock (RTC)
47
-
1-Second UPS (Uninterruptible Power Supply)
48
-
CPU Load
49
-
-
-
7 Programming
50
-
Library for Cx80Xx
50
-
Seconds UPS
50
-
Function Blocks
50
-
Data Types
53
-
-
Diagnostics
54
-
FUNCTION F_Cx80Xx_Address
54
-
-
Profibus
54
-
Cx8030
54
-
Cx8031
62
-
-
-
8 Ethernet X001 Interface
68
-
System Introduction
68
-
Ethernet
68
-
Topology Example
70
-
-
ADS-Communication
71
-
-
9 Profibus
73
-
System Overview PROFIBUS
73
-
Fieldbus Overview
76
-
Profibus Dp
80
-
Profibus Dpv1
81
-
Cables, Plugs and Switches
82
-
Topology
85
-
-
10 Error Handling and Diagnosis
86
-
LED Indicators
86
-
-
11 Appendix
89
-
First Steps
89
-
Image Update
94
-
Certification
96
-
Fcc
97
-
-
Bibliography
98
-
List of Abbreviations
99
-
Support and Service
100
-
Advertisement
Beckhoff CX8090 Documentation (67 pages)
The CX8080 is a controller with an Ethernet port and two serial interfaces
Brand: Beckhoff
|
Category: Controller
|
Size: 3.74 MB
Table of Contents
-
Table of Contents
3
-
1 Foreword
5
-
Notes on the Documentation
5
-
Safety Instructions
6
-
Documentation Issue Status
6
-
-
2 Product Overview
8
-
Cx80Xx — System Overview
8
-
CX8080 — Introduction
10
-
Technical Data
11
-
Cx80Xx — Microsd Cards
12
-
-
3 Mounting and Wiring
13
-
Mounting
13
-
Dimensions
13
-
Installation on Mounting Rails
13
-
-
Wiring
16
-
Power Supply
16
-
Ethernet
17
-
Rs232/Rs485
19
-
-
Changing the Battery
20
-
-
4 Parameterization and Commissioning
21
-
Address Switch
21
-
Setting the IP Adress
21
-
IP Address
21
-
Setting the Address Via DHCP Server
22
-
Subnet Mask
22
-
-
Configuration
23
-
Cx80Xx — Operating System
23
-
Power Supply Terminal
25
-
Rs232/485
27
-
Web Services
30
-
Real Time Clock (RTC)
32
-
1-Second UPS (Uninterruptible Power Supply)
33
-
CPU Load
34
-
-
-
5 Programming
35
-
Library for Cx80Xx
35
-
Seconds UPS
35
-
Function Blocks
35
-
Data Types
38
-
-
Cx8080 Led
39
-
Function
39
-
Data Types
41
-
-
Diagnostics
41
-
FUNCTION F_Cx80Xx_Address
41
-
-
Rs232/Rs485
42
-
Programming of the RS232/485 Interface
42
-
-
-
6 Ethernet
45
-
System Introduction
45
-
Topology Example
47
-
-
Modbustcp
48
-
Modbustcp Server — Overview
48
-
Modbustcp Protocol
49
-
Mapping between Modbus and ADS
50
-
-
Tcp/Ip
52
-
ADS-Communication
53
-
-
7 Serial Interface
55
-
RS232/RS485 System Overview
55
-
-
8 Error Handling and Diagnosis
57
-
Diagnostic Leds
57
-
-
9 Appendix
60
-
First Steps
60
-
Image Update
65
-
Support and Service
67
-
Advertisement
Related Products
-
Beckhoff CX8095
-
Beckhoff CX8050
-
Beckhoff CX8051
-
Beckhoff CX8093
-
Beckhoff CX90x0-N010 Series
-
Beckhoff CX9001-0100
-
Beckhoff CX9001-1101
-
Beckhoff CX9010-1002
-
Beckhoff CX5110-N030
-
Beckhoff CX5110-B510
Beckhoff Categories
Touch terminals
Control Unit
Industrial PC
Power Supply
Touch Panel
More Beckhoff Manuals
Артикул производителя — CX8090
- Описание
Описание
- Промышленный ПК на DIN-рейку
- 32 бит, 400 МГгц процессор
- 512 МБ мicroSD флэш-память (опционально 1 ГБ, 2 ГБ или 4 ГБ)
- 64 МБ встроенной памяти
- Протокол: Realtime Ethernet, ADS UDP, ADS TCP, ModbusTCP, TCP/IP, UDP/IP, EAP (протокол EtherCAT Automation)
- Операционная система: Microsoft Windows CE 6
- Программирование: TwinCAT 2 PLC
- Интерфейсы: 1 x Ethernet 10/100 Мбит/с (RJ45), 1 x USB-Device (за фронтальной крышкой)
- Интерфейс шины: 2 x Ethernet RJ45 (коммутаторed)
- I/O разъём: E-Bus (модуль EtherCAT) или K-Bus (модуль ввода/вывода), автоматическое обнаружение
- Часы: Внутренние, с аварийным питанием от батареи (батарея за фронтальной крышкой, сменная)
- ИБП: 1-секундный ИБП
- Степень защиты: IP 20
- Размеры (Ш х В х Г): 64 x 100 x 73 мм
Fieldbus: Ethernet
Добрый день, форумчане!
Слетело ПО на ПЛК (после отключения эл-ва — батарея померла). Попытался прогрузить новое ПО — ПЛК не отвечает.
Выключил ПЛК, вынул батарею, чтобы проверить номер и заказать такую же, включил заново — и получил такое: около минуты мигает индикатор ERR, потом горит постоянно. Этот индикатор:
Прочитал инструкцию, в ней написано, что если мигает красным, то идет загрузка ПО (firmware). Если не горит — значит ок.
Ну хорошо, думаю, что то с прошивкой. Загрузил с сайта Beckhoff новую прошивку, прочитал как ее надо ставить (гл. 10.2 инструкции). Из двух предложенных вариантов ни один не помог.
Вариант 1. Выключил ПЛК, вынул MicroSD флешку, вставил в комп, сохранил существующее по, очистил флешку (не форматирование), загрузил новую прошивку, вставил флешку обратно в ПЛК, включаю ПЛК — ERR LED долго моргает, потом спустя минуту-две горит постоянно и ни на что не реагирует.
Вариант 2. Переключил соответствующие DIPs, подключился USB-кабелем — те же манипуляции что и в Варианте 1, в итоге то же состояние что и в Варианте 1.
Помогите, плиз — куда копать, может кто имел опыт с Image Update?
Может быть что то с батареей не так? Возможно вообще Beckhoff запускать без батареи? По опыту — какие еще есть варианты мигания ERR индикатора? В ПО контроллер мигание можно изменить, но знаю точно, что его не меняли (сам писал программу).
Заранее спасибо!
Сторожевой таймер (или watchdog, или вотчдог для краткости в дальнейшем) нужен в критических ситуациях. В щите сбора данных — может быть, а вот в станке, я ставлю его необходимость под сомнение. Тем не менее, вопросы типа «боюсь, что программа зависнет» или более самоуверенные — «что, если зависнет контроллер», задают постоянно. В CX8090 такая функция есть.
И была. Изначально. А вот библиотека для работы с ним, появилась не сразу.
Попробуйте не использовать сторожевой таймер в своих проектах. Неправильное применение сторожевого таймера может привести к бесконечной перезагрузке ПЛК, что в результате приведет к выходу из строя контроллера. Это печально само по себе, и вдвойне грустно, потому что случай не гарантийный.
Все испытания проводились на новом ПЛК CX8090, произведенном 2 августа 2018 года.
История библиотеки
Я беру с полки CD-диск c официальным дистрибутивом TwinCAT 2 за 2013 год и открываю исходный код библиотеки TcSystemCX80xx.lib, предназначенной специально для CX80xx. Функции вотчдога в ней еще нет.
Диск за 2014 год — функции все еще нет. Версия библиотеки 1.0.2. Да собственно чего тянуть, функция была добавлена только в версии 1.0.3, но на диск попасть не успела или просто тестировалась какое-то время. Вот комментарий разработчика:
2014/02/17 | 1.0.3 | V2.11.0 (Build 2239) | ICH | adding F_CX80xxSetWatchdog
Мне, к сожалению, не удалось найти старые библиотеки на сайте Бекхофф, хотя я бы с удовольствием покопался в истории промышленного софтостроения. Так что, конкретно указать на версию TwinCAT я не могу. Начиная с версии TwinCAT 2.11 (build 2249) внезапно появляется версия 1.0.6, которая до сих пор лежит на сайте Бекхофф. И это не самая последняя версия, так как с последними дистрибутивами TwinCAT 2 распространяется версия библиотеки 1.0.7.
За все это время функциональный блок вотчдога не изменялся ни разу.
Как спустить сторожевого пса
Библиотека содержит несколько полезных функций, работающих только на CX80xx. По сути, все эти функции оперируют внутренними адресами железа, битовыми масками, байтами и другими низкоуровневыми штуками процессора и памяти контроллера. Нас такие подробности должны интересовать разве что из любопытства, поэтому о нюансах читайте чуть позже. А сейчас, непосредственно функция сторожевого таймера:
FUNCTION F_CX80xxSetWatchdog : BYTE VAR_INPUT tTimeOut : TIME; (* Watchdog TimeOut Time *) bEnable : BOOL; (* Enable / Disable Watchdog *) END_VAR
Это функция. Она не требует инстанциирования как функциональный блок. Просто регулярно вызывайте ее с (bEnable = TRUE), когда нужна функция сторожа; или вызовите блок единственный раз с (bEnable = FALSE), если нужно отключить таймер. Другими словами, блок требует регулярного вызова каждый цикл или по крайней мере не реже, чем это задано в параметре tTimeOut.
По идее функции должны быть сосредоточены сами в себе и ни коим образом не влиять на глобальное окружение. В данном же случае, такое применение уместно, так как: (а) функция всегда существует в единственном экземпляре и всегда требует ввода двух обязательных параметров; (б) другие программные единицы TwinCAT 2 так не умеют. В TwinCAT 3 мы могли бы попробовать шаблон Singleton.
На входе функции всего два параметра: (1) время реакции tTimeOut типа TIME, который может принимать значения в диапазоне от 500 миллисекунд (не меньше) до 127 секунд (не больше); (2) и параметр активациия/деактивации таймера bEnable типа BOOL. Куда уж проще.
После вызова функции, с целью активации сторожевого таймера (bEnable = TRUE), сразу же, в этом же цикле, начиная со следующей строчки после вызова функции, начинается контроль выполнения программы. Теперь, если программа зависнет и цикл не завершится в отведенное ему время, или если за цикл произойдет критическая ошибка, или сработает точка останова(!), если вы просто забудете регулярно вызывать функцию вотчдога — таймер начнет свой отсчет…
…и через заданное время tTimeOut — ПЛК перезагрузится.
После перезагрузки, ПЛК сделает вид, что ничего не произошло. Он будет считать, что загрузился штатным способом и запустится так, как было задано в его текущей системной конфигурации. Если у вас активирован загрузочный проект (boot project), то ПЛК-программа стартует автоматически, запустит вотчдог и, если ваша программа продолжит зависать, то контроллеру наступит бесконечный уроборос: зависание, перезагрузка, автозагрузка программы, зависание…
Из-за постоянной круговерти с загрузкой-переагрузкой, ПЛК рано или поздно может выйти из строя. Почему? Например, потому что скидывает на флэшку PERSISTENT данные или остаются незакрытыми файловые операции операционной системы, или любая другая причина. Не используйте вотчдог, пишите программы аккуратно.
После того как функция отработает, мы получаем на выходе битовую маску типа BYTE, а по сути всего лишь три значимых бита:
(* return enable state *)
nRetVal.0 := bEnabled;
nRetVal.1 := bMinWDTimeAct;
nRetVal.2 := bMaxWDTimeAct;
F_CX80xxSetWatchdog := nRetVal;
Далее номера битов в байте выхода:
- бит 0 — установлен, когда таймер запущен.
- бит 1 — установлен, когда время таймаута меньше или равно 500 миллисекундам.
- бит 2 — установлен, когда время таймаута больше или равно 127 секунд 500 мс.
Что внутри будильника?
Заглянем в недра тундры. Вотчдог хранит время таймаута в 500 миллисекундных интервалах. 127 секунд и 500 миллисекунд или 127 500 — это как раз 255 раз по 500. Затем это значение сдвигается на восемь бит «влево» в старший байт, а в младшем байте выставляются биты разрешения или запрещения.
Выбор таких временных интервалов в 500 мс возможно связан с «медленным» и неточным таймером вотчдога в архитектуре ARM9, который непосредственно встроен в железо. Медленный он в целях энергосбережения и потому что работает сам по себе, обходится без «точных кварцев» и других дорогостоящих электронных компонентов. Это очень топорное и упрощенное объяснение, но его вполне достаточно для текущего уровня поста.
После формирования слова управления, оно записывается в память через указатель на специальный неизменяемый адрес памяти. Именно по этой причине функция активируется сразу же, не дожидаясь окончания программного цикла: она влияет непосредственно на железо архитектуры.
Интересно, что вотчдог отключается не каким-то там специальным битом (его установкой или сбросом), а установкой максимально возможного значения временного интервала = 127с 500мс. Именно это происходит, когда мы вызываем функцию со сброшенным флагом разрешения (bEnable = FALSE).
Практика
Практиковаться будем на трех примерах ниже, каждый из которых так или иначе останавливает исполнение программы. Конкретнее, это точка останова, деление на ноль и бесконечный цикл. Набрасываете требуемый номер шага в переменную state и через 3 секунды получаете реакцию вотчдога на соответствующую критическую ситуацию:
PROGRAM MAIN VAR state, cnt : INT; z : int := -1; END_VAR (*[...]*) F_CX80xxSetWatchdog(tTimeOut := T#3s, bEnable := TRUE); CASE state OF 0: F_CX8090_LED_WD(eMode := eLED_RED_OFF); F_CX8090_LED_ERR(eMode := eLED_RED_OFF); z := z + 1; state := 10; 10: (* breakpoint *) ; 20: (* zero division *) z := state / z; 30: (* inf. loop *) F_CX8090_LED_WD(eMode := eLED_RED_FLASHING_200ms); WHILE TRUE DO ; END_WHILE F_CX8090_LED_WD(eMode := eLED_RED_OFF); END_CASE cnt := cnt + 1;
Помигаем светодиодом на прощанье
На корпусе CX8090 есть индикатор WD (=Watchdog), который в документации заявлен как не используемый в прошивке для CX8080 / CX809x. Тем не менее у нас есть механизм для управления этими лампами: функция F_CX8090_LED_WD управляет светодиодом WD, F_CX8090_LED_ERR — управляет светодиодом ERR (для ошибок). Доступны несколько режимов свечения и мигания с различной скважностью: покопайтесь в типах данных библиотеки.
Касательно отключения индикаторов, то оба индикатора двухцветные. Поэтому не важно какой цвет индикатора выключать: красный (eLED_RED_OFF) или зеленый (eLED_GREEN_OFF), отключается сразу весь светодиод, то есть оба цвета свечения пропадают одновременно.
Вызвать функцию достаточно один раз. Отработает она в том же цикле и даже раньше его завершения. В дальнейшем, работой индикаторов управляют какие-то внутренние цепи «железа», совершенно отвязанные от TwinCAT, поэтому блоки не требуют вызова каждый цикл. А вообще, можно сделать так:
F_CX8090_LED_WD(eMode := eLED_RED_FLASHING_200ms); WHILE itHaveToContinueThen DO ; (* что-то делаем в цикле *) END_WHILE F_CX8090_LED_WD(eMode := eLED_RED_OFF);
И еще раз, постарайтесь не использовать сторожевой таймер.