Что ж, если Вам не приходится передавать/захватывать управление объектом, разбираться с правами операторов, приоритетами источников команд, и не Вы заморачиваетесь с логгированием действий операторов, то Вам можно только позавидовать.
Что ж, если Вам не приходится передавать/захватывать управление объектом, разбираться с правами операторов, приоритетами источников команд, и не Вы заморачиваетесь с логгированием действий операторов, то Вам можно только позавидовать.
какой высокий полет мысли, как он соприкасается с поставленной задачей
Как только возникнет хоть один из описанных аспектов, то сразу появится необходимость выделения каждому из источников своего массива регистров
Персонального.
Чтобы мух - к мухам, а котлеты - к котлетам. И не взирая на асинхронность событий.
ну и что, вот когда человек решит задачу, как с двух мест менять регистры, перейдет к следущим вопросам и возможно они не будут еще касаться администрирования прав
по этому как говорится: "Простой поток сознания вызывал череду сложных биохимических реакций"
Что такое массив и с чем его едят?
(ВОПРОС: Подскажите пожалуста, как отправлять несколько СМС (допустим 5 штук) по одному номеру? Допустим сразу два, а вдругой аварийный случай одно, а может быть даже три. Вобщем диспетчерезацию (PLC-телефон) маленькой такой котельной.
ОТВЕТ: Все сообщения в массив и по очереди отправляйте. Переход к следующему - наличие флага успешной отправки. )
Для понимания основ придется очень много прочитать. Именно таким путем я и пошел и сегодня смог организовать СМС оповещение и ряд иных функций. Как конкретно отправить несколько СМС, Вам дали нправление как можно действовать. Написать за Вас алгоритм можно но это будет менее эффективно. Лучше Вам разобраться с процессом и тогда все станет просто и сможете обслуживать собственное творение без труда.
из справки (что по F1)
Массивы
Элементарные типы данных могут образовывать одно-, двух-, и трехмерные массивы. Массивы могут быть объявлены в разделе объявлений POU или в списке глобальных переменных. Путем вложения массивов можно получить многомерные массивы, но не более 9 мерных ( "ARRAY[0..2] OF ARRAY[0..3] OF …" ).
Синтаксис:
<Имя_массива>:ARRAY [<ll1>..<ul1>,<ll2>..<ul2>] OF <базовый тип>.
где ll1, ll2, ll3 указывают нижний предел индексов; ul1, ul2 и ul3 указывают верхние пределы.
Индексы должны быть целого типа. Нельзя использовать отрицательные индексы.
Пример:
Card_game: ARRAY [1..13, 1..4] OF INT;
Пример инициализации простых массивов:
arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;
arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* сокращение для 1,7,7,7 *)
arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3;
(* сокращение для 0,0,4,4,4,4,2,3 *)
Пример инициализации массива структур:
TYPE STRUCT1
STRUCT
p1:int;
p2:int;
p3:dword;
END_STRUCT
ARRAY[1..3] OF STRUCT1:= (p1:=1,p2:=10,p3:=4723),(p1:=2,p2:=0,p3:=299),
(p1:=14,p2:=5,p3:=112);
Пример инициализации части массива:
arr1 : ARRAY [1..10] OF INT := 1,2;
Не инициализированные явно элементы массива принимают значения по умолчанию. Так, в данном примере оставшиеся элементы примут значение 0.
Доступ к элементам массива:
Для доступа к элементам двухмерного массива используется следующий синтаксис:
<Имя_массива>[Индекс1,Индекс2]
Пример:
Card_game [9,2]
ps. Возможно я зря взял на себя ответственность давать какие либо советы ибо сам только постигаю азы, но мне показалось, что автор вопроса не понял ответа.</ul2></ll2></ul1></ll1>
Ryzhij Может я выше где-то и писал, не помню уже. У меня никто соревноваться не будет. Настройки с панели скрыты от использования и закрыты паролем. Необходимы для пусконалдки и только. Просто раз у меня еще есть шлюз Modbus-SNMP то эти же настройки решил пробросить и туда. Чтобы можно было удаленно тоже подкрутить настройки. Не более того.
Надо признать, melky, я не в курсе какого рода оборудование Вы автоматизируете.
Ну что ж, если Вас не беспокоит неизбежная при такой архитектуре перспектива "разбора залётов" и попыток свалить вину на "большого брата на том конце шнура", то можете и не заморачиваться с необходимостью чёткого определения и фиксации, а кто же именно сказал "Мяу".
Ryzhij мне все-таки пришлось разнести регистры записи и чтения modbus tcp мастера. Насколько я понимаю, скорость обмена по Modbus существенно ниже, нежели выполнение программы ПЛК. А у Universal Modbus Slave Device в таргетах нет понятия статуса передачи, по которым можно было бы отслеживать прием и передачу.
Если это есть у библиотек работы с Modbus, то хорошо, в будущем перейду на работу с библиотеками. А так пришлось корячиться...
Да оборудование простое, Приточка, Вытяжка, Газоудаление в работе в ручном режиме со сбросом по Аварии. Отсюда и ПЛК. Просто одновременно с этим мониторинг состояния клапанов, вентиляторов по датчикам давления, нескольких кондиционеров, весь мониторинг необходимо загнать в SNMP, что довесило соответствующий шлюз в систему.
А все эти плюсы в виде изменения параметров удаленно просто чтобы из-за изменения одного параметра не переться на объект, вот и все. Если один раз отстроится при пнр и будет все работать, ну и ладно, даже удаленно не буду менять, а если нет ?.... Есть железка для удаленки, почему бы не воспользоваться ?