mini_img

  MODBUS: исходник функции MODBUSCP общий



Или пример, как нужно реализовывать протокол обмена данными.



modbus



Одна из трех функций от Siemens, обеспечивающих обмен по протоколу Open MODBUS/TCP.
Блок восстановлен по заказу.




2014-10-16 / komatic / SCL / Просмотров: 15957


mini_img

  S7: Контроль размера программы в контроллере


sfc51



Может пригодится для контроля целостности программы.
Как реагировать на событие каждый может выбирать сам - поставить флаг для личного контроля, вывести на HMI предупреждающее сообщение или остановить работу. В зависимости от обстоятельств. Если у контроллера есть выход наружу, можно даже послать себе сообщение.
Конечно такую защиту можно легко обнаружить и удалить, но с одной стороны можно усложнить обнаружение и удаление этого кода, с другой стороны, человек который это обнаружит и нейтрализует, явно будет иметь достаточно опыта чтобы делать изменения в программе и отвечать за их последствия.


2014-09-13 / komatic / SCL / Просмотров: 2814


mini_img

  Несколько функций для работы с Int64



int64



Четыре небольшие функции (PCS7) для работы с числами в формате integer размером 64 бита, позволят работать даже на 32ух разрядных контроллерах с целыми числами в диапазоне от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 т.е. можно, например, посчитать действительно большое количество чего либо.

DiToInt64 - преобразование int32 - int64
Int64ToDi - преобразование int64 - int32
AddInt64 - сложение
NegInt64 - изменение знака




2014-07-24 / komatic / SCL / Просмотров: 2749


mini_img

  Сложение REAL64



add64



Функция сложения двух чисел в формате real64 (PCS7). Перед использованием у себя в программе для 32ух разрядного контроллера, желательно хорошо подумать - действительно ли это надо. Так как время выполнения будет гораздо больше и к тому же кроме сложения в библиотеке на данный момент других математических операций с real64 нет.




2014-07-22 / komatic / SCL / Просмотров: 2153


mini_img

  Правый, левый сдвиг для чисел INT64



shift64



Исходный код системных функций (PCS7) используемых для сдвига 64 разрядных чисел тип INT. Ничего особенного, но вдруг кому то будет интересно.




2014-07-21 / komatic / SCL / Просмотров: 1639


mini_img

  Real32 в 64 - туда и обратно



real64



Исходный код системных функций (PCS7) для преобразования чисел формата REAL32 в REAL64 и обратно. Пригодится для тех, кому не хватает обычной точности или если в контроллер попадают данные в формате 64, с которыми необходимо работать. Исходники будут полезны также тем, кто хочет разобраться с этими форматами.




2014-07-19 / komatic / SCL / Просмотров: 1733


mini_img

  Скромный Up/Down счетчик из библиотеки PCS7



counter



Функциональный блок позволяет увеличивать или уменьшать значение счетчика используя всего лишь 4 Kb скомпилированного кода ( ~ 1 тысячи команд) :). Как так получилось, можно посмотреть в исходном коде блока.




2014-07-18 / komatic / SCL / Просмотров: 4064


mini_img

  Вариант универсального таймера типов SD SP SE SS



timerp



Вариант универсального таймера, с отсчетом времени не по SampleTime (как сделано в PCS7), а по тикам ПЛК.




2014-07-09 / nelegal34 / SCL / Просмотров: 2732


mini_img

  Исходник универсального таймера TimerP 5в1 из библиотеки PCS7



timerp



Функциональный блок поддерживает пять режимов работы, в которые входят все что обычно требуется от таймера.




2014-07-08 / komatic / SCL / Просмотров: 3493


mini_img

  Функции для управления временем выполнения OB



time delay



Функции могут пригодится для для тестирования ПО и, связанной с ним, аппаратной части, с разными временами цикла контроллера, также можно динамически менять время цикла во время выполнения программы, для проверки самых жестких вариантов выполнения.




2014-07-07 / komatic / SCL / Просмотров: 2102