PDA

Просмотр полной версии : Проект на проверку



reallis
18.02.2015, 18:21
:confused: Уважаемые форумчане помогите разобраться с проектом,! при компиляции проходит на ура, а при записи, ПЛК начинает судорожно скидывать программу и перегружаться через 10 секунд после записи на ПЛК сначала грешил перепробывал все даже прошил аналогичной прошивкой но ничего не изменилось ! Записал новый простенький проект все работает ! А собственно дело в проекте прошу помогите найти загвоздку:(

в проекте: ПЛК150 - подключена панель weintek и 2 мдвв

проект исправлен

приборист
18.02.2015, 19:50
CFC это жестко.
Навскидку в конфигурации у Вас 2 мастера на 1 интерфейс.
Сделайте все в одном мастере.

capzap
18.02.2015, 19:57
в дополнение, выполните компиляцию, зайдите в меню Проект->Контроль и проверте на неиспользуемые переменные и самое главное на множественную запись выхода. Дальше где то в дебрях кода, я находил переменные из полученного списка и делал по ним ctrl+F3, далее разворачивал макросы и у меня появлялись куча красных линий, вобщем когда всё устраните, обращайтесь снова :)

petera
18.02.2015, 20:05
:confused: Уважаемые форумчане помогите разобраться с проектом,! при компиляции проходит на ура, а при записи, ПЛК начинает судорожно скидывать программу и перегружаться через 10 секунд после записи на ПЛК сначала грешил перепробывал все даже прошил аналогичной прошивкой но ничего не изменилось ! Записал новый простенький проект все работает ! А собственно дело в проекте прошу помогите найти загвоздку:(

в проекте: ПЛК150 - подключена панель weintek и 2 мдвв
Что и следовало ожидать:rolleyes:

Беда, коль пироги начнет печи сапожник,
А сапоги тачать пирожник,
(с)Крылов, Иван Андреевич. Из басни «Щука и Кот» (1813)

жекон
18.02.2015, 20:44
У макросов имена разные сделайте, наворотили вы их да еще один в один

Boris_K
18.02.2015, 21:53
В самой множественной записи выхода нет ничего плохого, так как реальное состояние выходов изменяется только после прохода всего программного цикла. Кроме того, компилятор Кодесиса в этом плане абсолютно тупой, и считает множественной записью любое место, где повторно присваивается переменная выхода, и не смотрит, что это может быть под кучей условных операторов. Компилятор и не должен это разбирать, это компетентность программиста. Проверка множественной записи - просто грубая проверка повторных присваиваний, которая в некоторых случаях помогает выловить ошибки.

reallis
18.02.2015, 22:35
Спасибо большое, приборист, я не обратил внимания что мастер 1 должен быть все заработало
Спасибо большое, capzap, я не знал где проверка программы думал при компиляции ошибки все высвечивает
тему можно закрывать всем спасибо за проявленный интерес

Yegor
19.02.2015, 06:29
приборист не обратил внимания
capzap не знал где проверка программыНеуд обоим.

reallis
19.02.2015, 09:31
Необязательно было язвить но СПС, исправил ! (В 2 часа ночи и не такое можно сморозить)

Boris_K
19.02.2015, 09:53
исправил ! ты ещё не исправил ;) ещё по одному знаку препинания не хватает )

reallis
19.02.2015, 11:18
Еще вопрос пытаюсь отправить сигнал с панели оператора на мдвв адрес 32 - никаких поползновений подскажите как правильно указать адрес 2 го мдвв (первый мдвв адрес 16 работает самостоятельно) плк один раз сам указал канал 32 и при посылке сигнала на 0х10 адрес включил 5 выход :confused: панель weintek
16799

petera
19.02.2015, 12:37
Еще вопрос пытаюсь отправить сигнал с панели оператора на мдвв адрес 32 - никаких поползновений подскажите как правильно указать адрес 2 го мдвв (первый мдвв адрес 16 работает самостоятельно) плк один раз сам указал канал 32 и при посылке сигнала на 0х10 адрес включил 5 выход :confused: панель weintek
16799
В Вашем случае в панели можно указать любой адрес потому, что панель никогда не сможет управлять напрямую модулем мдвв, который подключен к ПЛК по одному интерфейсу в то время как панель подключена к ПЛК по другому интерфейсу.
Не ужели Вы не понимаете, что модулем может управлять только ПЛК, а панель к модулю на прямую ну никак не сможет обращаться.
Сначала нужно учить мат.часть, чтобы получить хоть какие-нибудь начальные представления о том, чем Вы пытаетесь заниматься.

reallis
19.02.2015, 16:32
В Вашем случае в панели можно указать любой адрес потому, что панель никогда не сможет управлять напрямую модулем мдвв, который подключен к ПЛК по одному интерфейсу в то время как панель подключена к ПЛК по другому интерфейсу.
Не ужели Вы не понимаете, что модулем может управлять только ПЛК, а панель к модулю на прямую ну никак не сможет обращаться.
Сначала нужно учить мат.часть, чтобы получить хоть какие-нибудь начальные представления о том, чем Вы пытаетесь заниматься.

Т.е. по вашему на какой бы адрес я не отправил все будет зависеть от программы ? если я уровняю float c выходами мдвв то адрес, сам плк должен подставить ? об этом я думал уже и раз он мне подставил я просто хочу уточнить просто второй и третий раз он начал мне выдавать каналы 129 17 и 145 ! а мне такая игра в адреса не нужна вот и прошу помощи может у кого пример есть ! а сколько мат часть не учи если никто не объяснил то никогда не поймешь!!! нужно понимание ! и тогда все встанет на свои места 22 года в безопасности, а к жизни не приучен (((( да и в РЭ указанно что при адресе мдвв 32 обращаться к битам по адресам 32-39


сам ответил на свой вопрос :D да уж !

жекон
19.02.2015, 16:52
Вы хотя бы топологию RS нарисуйте, потому как мне совершенно ни чего не понятно

reallis
19.02.2015, 17:05
последовательно rs485 : плк - мдвв1 - мдвв2 и по ethernet - панель weintek
все работает на ура !

жекон
19.02.2015, 17:30
Ну и славненько

petera
19.02.2015, 21:15
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

reallis
20.02.2015, 08:21
Третий человек, начал помогать и подсказывать только после того что ему сказали что сам не понимает ! Уважаемый petera, вот теперь могу сказать спасибо - за толковый ответ и думаю он многим пригодится !

Только русский человек - полезет читать руководство по эксплуатации, только после слов . . . . . . . . сломал !:D