Я так понимаю Вы это делаете в каком то FC и использовали переменную из TEMP?
Нужно использовать бит памяти, бит из DB, или написать просто TRUE или FALSE и всё будет ОК)
Dmitriy1992 wrote: Mon Dec 14, 2020 7:03 am
Я так понимаю Вы это делаете в каком то FC и использовали переменную из TEMP?
Нужно использовать бит памяти, бит из DB, или написать просто TRUE или FALSE и всё будет ОК)
Просто true или false не канает - ошибка сразу. Переменную из темп не использую, пытаюсь использовать глобальную константу, пока безуспешно )) Прокатывает бит из области М, I, Q, бит из блока данных, а константу не понимает, хотя мануал говорит об обратном. Специально сходил посмотрел один из проектов, который нам сторонний программист делал, так у него из меркерной памяти принудительно два бита один в 1 один в 0 в начале ОВ1 переводятся, данным битам присвоены символьные имена true и false и потом по программе далее используются как константы.
Так то для 300-400 вариант вашего программера все используют. Я тоже сразу 1500 для проверки поставил, так как 1200 не поддерживает scale (пришлось свою копипастить). А 300-400 я в классике делаю.
https://support.industry.siemens.com/cs ... t/87149213 How do you define the "TRUE" constant in the LAD/FDB editor in STEP 7 (TIA Portal)?
для S7-300 задать значения в ОВ100 по аналогии как сделано в ТИА Портале
для 1200/1500 поставить Галку в настройках процессора
============== S7-1200/S7-1500 Normalize Scale ==================== https://support.industry.siemens.com/cs ... t/39334504 For an S7-1200/S7-1500 controller in STEP 7 (TIA Portal), how do you scale integer values in real numbers and vice versa for analog inputs and outputs?
Запустил симулятор v.5.4. Залил программу. После запуска процессор показывает SF и переходит в STOP.
Программа компилируется. Ошибок 0. Блок SCALE выглядит так
Диагностика показала следующее:
Area length error when reading
I area, word access, Access address: 304
FC number: 105
Module address: 46
Requested OB: Programming error OB (OB121)
OB not found, or disabled, or cannot be started in the in the current operating mode
Internal error
Дополнительная информация. Во всех примерах использования блоков scale в интернетах на вход IN подавали Переменную из области piw. Я пытаюсь IWxx. Сегодня на работе попробовал в TIA v.12 аналогично использовать блок scale, подав IWxxx на вход, заработало. Т.е. в v.16 не заработало, в v.12 заработало. Может область I нужно как-то активировать?
Дополнено: после неясных манипуляций в tia v.12 перестало так же работать.
Last edited by volotovskyd on Tue Dec 15, 2020 6:30 am, edited 1 time in total.
В документации на S7-315 вычитал, что адресное пространство ввода/вывода для отображения процесса 128/128 байт. В настройках модуля AI опция Process image не активна, ничего выбрать нельзя. А в настройках например модуля DI данная опция активна и можно выбрать OB1 PI или PIP1. Означает ли, что область памяти I применима только для DI-данных? Если можно разъясните отличие вышеуказанных опций OB1 PI и PIP1.
Еще добавлю, что раньше всегда опрашивал AI входы напрямую (PIW). В этот раз попробовал обратиться к области "отображения процесса", не получилось, вот пытаюсь разобраться.
Потихоньку сам вникаю.
Получается следующая ситуация:
1. Область отображения (Process Image) входов и выходов изначально предназначена для DI и DO. Это соответственно PII и PIQ.
2. В зависисмости от ЦПУ можно устанавливать размер области отображения таким образом, что адреса AI и AO войдут в данный диапазон адресов и соответственно будут в начале цикла там прописываться так же, как с дискретными сигналами (с этим пока до конца не разобрался, не выяснил какие ЦПУ это умеют и как это сделать).
3. Судя по всему, т.к. раньше в классических версиях STEP7 адреса PIW и PQW означали прямой доступ к переферии для AI и AO соответственно, чтобы не путаться, в ТИА идентификатор прямого доступа перенесли в конец адреса и теперь например PIW для AI выглядит IWxxx:P вот так.
Dmitriy1992 wrote: Tue Dec 15, 2020 7:06 am
Я так понял из Ваших сообщений, что вы не видите, что приходит на вход PIW? Как они сконфигурированы?
Сейчас не могу проверить в ТИА. Но судя по всему мне нельзя напрямую в программе использовать адреса типа IWxxx, для AI нужно IWxxx:P. Т.е. это было бы возможно, если бы в область отображения (process image) входили бы в т.ч. адреса аналоговой переферии. Я вроде бы так понял.
В общем разобрался примерно - чего и добивался. Вернусь пока к варианту с IWxxx:P, вариант с образом оставим для особых случаев. Спасибо всем откликнувшимся.