Нужна помощь молодому специалисту.

kingderg
Сообщения: 7
Зарегистрирован: 15 апр 2020, 09:58
Откуда: Нижний Новгород

Нужна помощь молодому специалисту.

Сообщение kingderg »

Добрый день форумчане next lvl. Господа столкнулся я значит с такой проблемой, закончил универ в 2019 и опа я на улице.Наверное со всеми было.) Пошел работать на производство в должности специалиста ,а тут все такое разноцветно-серое, что так хочется.... Так вот столкнулся с проблемой и огромных пробелах в знаниях ибо программировать не учили-не учил,а нужно. Так вот решил начать с дельты и языка LD. У меня на руках задание , где мне нужно написать программу к гидростанции, что-бы она работала в ручном режиме анализируя сигналы с датчиков температуры и давления и в случае чего выдавала ряд ошибок.После сразу возникал аварийный сигнал на светосигнальной стойке. Само управление я допер,как сделать(кнопки упр движком и клапанами) но есть проблема с преобразованием аналоговых сигналов с датчиков.Если есть возможность проконсультируйте.Спасибо.

Aeroplan
Сообщения: 289
Зарегистрирован: 17 окт 2013, 11:39
Откуда: Санкт-Петербург

Re: Нужна помощь молодому специалисту.

Сообщение Aeroplan »

Для начала посмотрите http://www.deltronics.ru/images/manual/ ... 042016.pdf
Обычно в стандартных условиях в модуле достаточно настроить тип сигнала - записать (ТО) в регистр 1 "цифирь" и потом читать (FROM) из регистров 12-15 данные, соответствующие амплитуде сигнала на аналоговом входе.
После этого с данными можете делать все, что вам нравится или нужно: например, преобразовать в абсолютную величину температуры, давления или расхода, ну что там еще нужно.

kingderg
Сообщения: 7
Зарегистрирован: 15 апр 2020, 09:58
Откуда: Нижний Новгород

Re: Нужна помощь молодому специалисту.

Сообщение kingderg »

Спасибо,сейчас ознакомлюсь.А не могли бы вы посмотреть на правильность составления мною программы в целом и оценить? Дабы не искоренить первичные ошибки.Изображение[/img]
Вложения
форум 3.PNG
форум 3.PNG (16.48 КБ) 2681 просмотр
форум 2.PNG
форум 2.PNG (17 КБ) 2681 просмотр
Последний раз редактировалось kingderg 15 апр 2020, 13:18, всего редактировалось 1 раз.

kingderg
Сообщения: 7
Зарегистрирован: 15 апр 2020, 09:58
Откуда: Нижний Новгород

Re: Нужна помощь молодому специалисту.

Сообщение kingderg »

Сильно прошу не пинать.
Вложения
форум 4.PNG
форум 4.PNG (14.89 КБ) 2681 просмотр

kingderg
Сообщения: 7
Зарегистрирован: 15 апр 2020, 09:58
Откуда: Нижний Новгород

Re: Нужна помощь молодому специалисту.

Сообщение kingderg »

Обьясняю зачем мне нужен NETWORK 4 и 7. Хотел сделать так чтобы после того, как я вывел значения допустим датчика температуры и при превышении 20 градусов у меня отключалась гидростанция.А допустим при 18 открывался клапан теплообменника.Но в итоге не получилась задумка, что-то я упустил.

Aeroplan
Сообщения: 289
Зарегистрирован: 17 окт 2013, 11:39
Откуда: Санкт-Петербург

Re: Нужна помощь молодому специалисту.

Сообщение Aeroplan »

Судя по SM400 вы используете серию AS200/300. В таком случае Вам не нужны функции FROM и TO. Когда вы в HWCONFIG заполните стойку вашими модулями, там он подскажет, к каких ячейках памяти искать оцифрованное значение аналогового сигнала.

Aeroplan
Сообщения: 289
Зарегистрирован: 17 окт 2013, 11:39
Откуда: Санкт-Петербург

Re: Нужна помощь молодому специалисту.

Сообщение Aeroplan »

В Net 2 вы пересылаете данные само в себя? Зачем?
В Net 4 сравниваете константы? А смысл?
Выкл_Гидро - это вход? Тогда нельзя в него "писать" в Net 4 или где-то еще. Входы читаем, пишем в выходы.

Aeroplan
Сообщения: 289
Зарегистрирован: 17 окт 2013, 11:39
Откуда: Санкт-Петербург

Re: Нужна помощь молодому специалисту.

Сообщение Aeroplan »

Не такое Вы собирались сделать?
Кнопки без фиксации, Старт НО, Стоп НЗ.
Вложения
2020-04-15_16-22-17.png
2020-04-15_16-22-17.png (79.75 КБ) 2647 просмотров

kingderg
Сообщения: 7
Зарегистрирован: 15 апр 2020, 09:58
Откуда: Нижний Новгород

Re: Нужна помощь молодому специалисту.

Сообщение kingderg »

Да примерно так,совершено верно AS320T, спасибо за помощь!!! Но не совсем понятно использование аналоговых сигналов внутри программы. С HWCONFIG я практически разобрался.Допустим при выборе платы аналоговых входных сигналов 04AD,я вижу какие адреса присвоены какому входу платы. Далее я присваиваю символу tCмасла (адресс D28042) Везде в примерах используют команду DMOV для преобразования/записи/передачи данных аналогового сигнала,возможно ли его записывать в Real_1 я правильно понимаю,что это как пустой регистр ему можно свободно приписывать любые данные? Вот смотрите если я прописываю "DMOV" "S= tC масла" передает данные в "D=Real_1". А после в команде ">" я записываю "S1=Real_1", "S2=20" то у меня почему-то пишет что "тип данных Real_1 не совпадает " не пойму в чем дело. Аналогично тоже самое если я прописываю в tC масла в S1 команды ">" данные операции проверки и запуска я провожу в имитации COMMGR.

Aeroplan
Сообщения: 289
Зарегистрирован: 17 окт 2013, 11:39
Откуда: Санкт-Петербург

Re: Нужна помощь молодому специалисту.

Сообщение Aeroplan »

Во всех функциях (за исключением специальных) данные на входе должны быть одного типа.
Когда Вы определяете переменную и присваиваете ей адрес в памяти, Вы задаете ей тип. Иногда (часто) эти типы нужно преобразовывать один в другой и обратно. Например, для точных вычислений с плавающей точкой или данные большого веса - более 32000 или менее -32000.
Старайтесь заранее объявлять все переменные с точно указанным типом. Можно в конце имени переменной добавлять идентификатор типа. Например для целочисленных _i, для данных real/float _r. tMasla_i и tMasla_r. Тогда Вы будете меньше путаться и перемешивать типы в функциях.
Если Вы явно не указали адрес и тип, если "потеряли" переменную в "локале или глобале", посматривайте иногда, что у Вас творится за верхним слайдером.
Вложения
2020-04-16_11-52-23.png
2020-04-16_11-52-23.png (40.06 КБ) 2614 просмотров
2020-04-16_11-46-07.png
2020-04-16_11-46-07.png (130.87 КБ) 2615 просмотров

Ответить