Возьмите Word и /256 или %256 не помню, ST такое позволяет? вы получите старший и младший байты. По другому вроде никак.
Вид для печати
Возьмите Word и /256 или %256 не помню, ST такое позволяет? вы получите старший и младший байты. По другому вроде никак.
Вы хоть понимаете что вы пишите ?
Если у вас адрес регистра 83 (REAL будет 83 и 84 регистр), то вы пишите адрес бита 1331, выдавая его за адрес регистра.
В таком случае вместо чтения 120 регистров, вам придётся читать 2 тысячи регистров. Может голову включите уже?
1331 бит попадает в 83 регистр
3239 бит попадает в 202 регистр - разница в 120 регистров
Если REAL по адресу 1331-1334, то читать придётся 1334 регистра.
Эта эпопея уже 3 неделю длится, сначала были адреса со 125 по 194 (70 регистров), потом ТС сделал с 83 по 182 (100 регистров) и собирался передавать REAL с 83 адреса.
2 недели ему разжёвывал как биты соотнести с регистрами, только по ходу ТС так ничего и не понял.https://owen.ru/forum/showthread.php?t=20069&page=766
А теперь биты из 199-202 регистра, а REAL из 1331-1334 регистров
kondor3000 Я сам ни фига не понял. Там даже же начальный адрес можно не с нуля задавать. Чего он хочет-то?
[QUOTE=kondor3000;449103]Эта эпопея уже 3 неделю длится, сначала были адреса со 125 по 194 (70 регистров), потом ТС сделал с 83 по 182 (100 регистров) и собирался передавать REAL с 83 адреса.
2 недели ему разжёвывал как биты соотнести с регистрами, только по ходу ТС так ничего и не понял.https://owen.ru/forum/showthread.php?t=20069&page=766
А теперь биты из 199-202 регистра, а REAL из 1331-1334 регистров[/QUOTEдоброе утро. хоть я и мучал вас глупыми вопросами .но никак не мог понять .спасибо большое за терпения .я за три недели многому научился с нуля. будут у меня еще вопросы. я буду если позволите писать. еще раз спасибо.
Добрый день.
Исходные:
- требуется поддерживать параметр (сила натяжения нити) в заданном значении, через ПИД-регулятор. Значение параметра считывается с модуля МВ110-224.8А;
- поддержание заданного значения обеспечивает сервопривод (на базе Delta ASDA-B2), работая в режиме управления моментом;
- проект на СПК110 в CODESYS 3.5.17.3.
Подскажите, пожалуйста, какой ФБ из библиотеки CmpOwenPidRegs подойдет для этой цели, или из другой.
Спасибо за ответ.
Здравствуйте. Подскажите пожалуйста, какой использовать блок из библиотеки для отключения аналогового сигнала? Допустим: приходить аналоговый сигнал на вход блока, на выходе тот же сигнал. По переменной bool выключается выходной аналоговый сигнал.
Здравствуйте. Подскажите пожалуйста, как перевести Float32 в Real на ST?
Добрый день! Потребовалось управлять элементом визуализации Трассировка из кода программы, а именно сбрасывать трассировку и начинать запись званого. То есть элемент визуализации должен начинать работать как будто его только что запустили.
Для этого использую CmpTraceMgr Library.
1) Получил нужные hPacket, hRecord и их конфигурации.
2) Использование TraceMgrPacketRestart() выполняет только сброс времени трассировки.
3) Костыль в виде сохранения пустой трассировки в файл, а потом ее перезаписывание - не решает задачу, потому что трассировка рисует ерунду.
Прошу помощи, идеи заканчиваются)
Добрый день.
Насколько помню - "рисование ерунды" происходит только в течение времени, равного диапазону по оси X, дальше ситуация нормализуется.
В любом случае - штатного способа сброса трассировки в данный момент нет.
Вложение 79712
Можете попробовать использовать нашу реализацию трассировки из библиотеки OwenVisuTools - там такой функционал предусмотрен.
Для изучения лучше создать новый проект или ещё проще взять готовый пример на сайте. И вполне достаточно массива из 2-3 переменных с началом от 0.
Вот в эту переменную можно забить начальный адрес слейва, в Параметрах блока Вложение 79730 c_uiStartAddr :=125
а длина задаётся массивом awSlaveDada объявленным в программе.
Пример кода запуска бита записи xWrite при изменении маски бит w0 и переменной w1Код надо вставить после присвоения в программе в Маску бит w0 (или изменения целочисленной w1) и до R_Trig, который запустит присвоение из w0 в переменную массива awSlaveData[0] или целочисленной w1 в awSlaveData[1]Код:IF awSlaveData[0]<>w0 OR awSlaveData[1]<>w1 THEN
xWrite:=TRUE;
// ELSE xWrite:=False; // снять комментарий после проверки, для сброса xWrite
END_IF
Здравствуйте,
CS3.5 SP17 P3
ПЛК200-03
При первой заливке прошивки словил исключение, но не могу разобраться, где его ловить
Вложение 79749
Как понять где исправить?
отправил в телеграм сообщение