Просмотр полной версии : Проект на проверку
:confused: Уважаемые форумчане помогите разобраться с проектом,! при компиляции проходит на ура, а при записи, ПЛК начинает судорожно скидывать программу и перегружаться через 10 секунд после записи на ПЛК сначала грешил перепробывал все даже прошил аналогичной прошивкой но ничего не изменилось ! Записал новый простенький проект все работает ! А собственно дело в проекте прошу помогите найти загвоздку:(
в проекте: ПЛК150 - подключена панель weintek и 2 мдвв
проект исправлен
приборист
18.02.2015, 19:50
CFC это жестко.
Навскидку в конфигурации у Вас 2 мастера на 1 интерфейс.
Сделайте все в одном мастере.
в дополнение, выполните компиляцию, зайдите в меню Проект->Контроль и проверте на неиспользуемые переменные и самое главное на множественную запись выхода. Дальше где то в дебрях кода, я находил переменные из полученного списка и делал по ним ctrl+F3, далее разворачивал макросы и у меня появлялись куча красных линий, вобщем когда всё устраните, обращайтесь снова :)
:confused: Уважаемые форумчане помогите разобраться с проектом,! при компиляции проходит на ура, а при записи, ПЛК начинает судорожно скидывать программу и перегружаться через 10 секунд после записи на ПЛК сначала грешил перепробывал все даже прошил аналогичной прошивкой но ничего не изменилось ! Записал новый простенький проект все работает ! А собственно дело в проекте прошу помогите найти загвоздку:(
в проекте: ПЛК150 - подключена панель weintek и 2 мдвв
Что и следовало ожидать:rolleyes:
Беда, коль пироги начнет печи сапожник,
А сапоги тачать пирожник,
(с)Крылов, Иван Андреевич. Из басни «Щука и Кот» (1813)
У макросов имена разные сделайте, наворотили вы их да еще один в один
В самой множественной записи выхода нет ничего плохого, так как реальное состояние выходов изменяется только после прохода всего программного цикла. Кроме того, компилятор Кодесиса в этом плане абсолютно тупой, и считает множественной записью любое место, где повторно присваивается переменная выхода, и не смотрит, что это может быть под кучей условных операторов. Компилятор и не должен это разбирать, это компетентность программиста. Проверка множественной записи - просто грубая проверка повторных присваиваний, которая в некоторых случаях помогает выловить ошибки.
Спасибо большое, приборист, я не обратил внимания что мастер 1 должен быть все заработало
Спасибо большое, capzap, я не знал где проверка программы думал при компиляции ошибки все высвечивает
тему можно закрывать всем спасибо за проявленный интерес
приборист не обратил внимания
capzap не знал где проверка программыНеуд обоим.
Необязательно было язвить но СПС, исправил ! (В 2 часа ночи и не такое можно сморозить)
исправил ! ты ещё не исправил ;) ещё по одному знаку препинания не хватает )
Еще вопрос пытаюсь отправить сигнал с панели оператора на мдвв адрес 32 - никаких поползновений подскажите как правильно указать адрес 2 го мдвв (первый мдвв адрес 16 работает самостоятельно) плк один раз сам указал канал 32 и при посылке сигнала на 0х10 адрес включил 5 выход :confused: панель weintek
16799
Еще вопрос пытаюсь отправить сигнал с панели оператора на мдвв адрес 32 - никаких поползновений подскажите как правильно указать адрес 2 го мдвв (первый мдвв адрес 16 работает самостоятельно) плк один раз сам указал канал 32 и при посылке сигнала на 0х10 адрес включил 5 выход :confused: панель weintek
16799
В Вашем случае в панели можно указать любой адрес потому, что панель никогда не сможет управлять напрямую модулем мдвв, который подключен к ПЛК по одному интерфейсу в то время как панель подключена к ПЛК по другому интерфейсу.
Не ужели Вы не понимаете, что модулем может управлять только ПЛК, а панель к модулю на прямую ну никак не сможет обращаться.
Сначала нужно учить мат.часть, чтобы получить хоть какие-нибудь начальные представления о том, чем Вы пытаетесь заниматься.
В Вашем случае в панели можно указать любой адрес потому, что панель никогда не сможет управлять напрямую модулем мдвв, который подключен к ПЛК по одному интерфейсу в то время как панель подключена к ПЛК по другому интерфейсу.
Не ужели Вы не понимаете, что модулем может управлять только ПЛК, а панель к модулю на прямую ну никак не сможет обращаться.
Сначала нужно учить мат.часть, чтобы получить хоть какие-нибудь начальные представления о том, чем Вы пытаетесь заниматься.
Т.е. по вашему на какой бы адрес я не отправил все будет зависеть от программы ? если я уровняю float c выходами мдвв то адрес, сам плк должен подставить ? об этом я думал уже и раз он мне подставил я просто хочу уточнить просто второй и третий раз он начал мне выдавать каналы 129 17 и 145 ! а мне такая игра в адреса не нужна вот и прошу помощи может у кого пример есть ! а сколько мат часть не учи если никто не объяснил то никогда не поймешь!!! нужно понимание ! и тогда все встанет на свои места 22 года в безопасности, а к жизни не приучен (((( да и в РЭ указанно что при адресе мдвв 32 обращаться к битам по адресам 32-39
сам ответил на свой вопрос :D да уж !
Вы хотя бы топологию RS нарисуйте, потому как мне совершенно ни чего не понятно
последовательно rs485 : плк - мдвв1 - мдвв2 и по ethernet - панель weintek
все работает на ура !
22 года в безопасности, а к жизни не приучен
http://www.owen.ru/forum/attachment.php?attachmentid=11957&d=1392751157
Ну не знаю, как бы помягче ответить, чтобы не обидеть...
То, что Вы уже знаете, что такое РЭ уже хорошо. Но
да и в РЭ указанно что при адресе мдвв 32 обращаться к битам по адресам 32-39
относится к протоколу ОВЕН, а у Вас в программе используется Modbus. По этому читаем РЭ еще раз, но только про обмен по протоколу Modbus. А в этом случае в Universal Modbus device для МДВВ для работы через битовые маски нужны только Register input module c адресом регистра 51 и Register output module с адресом регистра 50. Указанные адреса регистров не зависят от адреса МДВВ, для всех МДВВ всегда будут нужны 50 и 51 регистр.
http://www.owen.ru/forum/attachment.php?attachmentid=11963&d=1392751579Читать стр.17-19 "Подключение МВА8 МДВВ и МВУ8 к ПЛК по протоколу ModBus.pdf" http://kipshop.ru/Primeri/Modules/01._Manuals_MVA8+MVU8+MDVV+PLC.zip
если я уровняю float c выходами мдвв то адрес, сам плк должен подставить ? об этом я думал уже и раз он мне подставил я просто хочу уточнить просто второй и третий раз он начал мне выдавать каналы 129 17 и 145 ! а мне такая игра в адреса не нужна
Ни чего не понял какие-такие каналы 129 17 145http://www.owen.ru/forum/attachment.php?attachmentid=11962&d=1392751544
С чего бы ПЛК сам начал что-то подставлять, Вы должны сами, ручкам указать что и куда подставлять.
Т.е. по вашему на какой бы адрес я не отправил все будет зависеть от программы ?
БИНГО!!! В самую точку:rolleyes:
Вот именно в программе и нужно сделать обмен информацией между двумя различными интерфейсами. Ведь панель видет в ПЛК только регистры в модуле Slave и никогда не сможет добраться до регистров в модуле Master.
16804
По этому в программе нужно делать присваивание
Для записи из панели в модуль МДВВ
БитВыходаВмаскеМДВВ:=БитУправленияНаПанели
где
БитВыходаВмаскеМДВВ -соответствующий бит в Register output module с адресом регистра 50.
БитУправленияНаПанели -соответствующий бит в регистре Slave
Для отображения на панели состояния входа МДВВ
БитУправленияЛампойНаПанели:=БитВходаВмаскеМДВВ
где
БитВходаВмаскеМДВВ -соответствующий бит в Register input module с адресом регистра 51.
БитУправленияЛампойНаПанели -соответствующий бит в регистре Slave
Третий человек, начал помогать и подсказывать только после того что ему сказали что сам не понимает ! Уважаемый petera, вот теперь могу сказать спасибо - за толковый ответ и думаю он многим пригодится !
Только русский человек - полезет читать руководство по эксплуатации, только после слов . . . . . . . . сломал !:D
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot