PDA

Просмотр полной версии : Работа ПЛК от двух мамок



drvlas
25.12.2012, 01:21
Мне необходимо запускать ПЛК с КоДеСис от двух компов. Ну, один рабочий, а второй для выездов. И на выезде может захотеться чего-нить подпилить в программе.
Я ставлю на обоих ПК одинаковые версии КДС, одинаковые библиотеки, одинаковые таргет файлы (хотя с последним нет полной уверенности).
Вообще, у меня проект специально сделан "мобильным": все его библиотеки размещены в соседней директории относительно самой программы - и легко переносятся вместе с программой на любой другой комп. Поэтому вне папки с проектом есть только таргет-файлы, о которых я тут расспаршивал, но ответа не получил.

В общем, считаю, что 2 проекта похожи как две капли перцовки. И оба компа, равно как и ПЛК, подключаю к рутеру, все это хозяйство в одной подсети, бла-бла-бла... Короче говоря, каждый из ПК вяжется с ПЛК отлично. Может войти в онлайн, загрузить программу, создать загрузочный проект. Я уже рад безмерно.
Но. Есть одно "но". Каждый из компов считает, что другой комп влил в ПЛК "свою" программу. То есть, после того, как я загрузил программу с одного компа, потом ушед в оффлайн, потом с другого подключился онлайн и о-па! КДС пишет, что программа в ПЛК была изменена. Да как же, как же, восклицаю я. Одинаковая программа, я перенес вообще всю папку с проектом, в том числе откомпилированный код. И он не перекомпилировался (кажется).
И поведение ПЛК совершенно не отличается, откуда бы его не загрузил. Хотя тут уж мне трудно знать все нюансы - а вдруг что-то действительно разное?
Я бы предпочел, чтобы проект, записанный в ПЛК из одного ПК, был воспринят как "родной" при установлении связи с другим ПК. Тогда я буду уверен, что отлаживаю на выезде ту же программу, что и видел дома.

Где я косячу? Буду благодарен за внесение покоя в мою истерзанную душу :)

З.Ы. Вообще-то, сделаю одно (неважное, ИМХО) замечание. Один комп работает под честной виндой 7, а второй, о ужас, под убунтой, с которой в виртуал бокс запущена такая же винда и уже в ней стоит КДС. Повторяю, говорю это на всякий случай...

mikele
25.12.2012, 05:46
Смотрите где у вас в проекте сохраняются компилированные файлы (ci, ri, sym, sdb). Должны в той же папке, что и проект.
У самого 2 ноута и удаленная вирт. машина. Со всех машин подключаюсь без дополнительных компиляций.
Кстати, для синхронизации проектов использую Dropbox.

petera
25.12.2012, 06:34
Как только откомпилировали проект в одном компьютере, то меняется дата и время создания/изменения файлов. Кодесис при подключении к ПЛК с другого компьютера сравнивает время создания файлов с тем, что в ПЛК. Нужна синхронизировать папки с проектом в обоих компьютерах!
У меня тоже постоянно задействованы два компьютера, один стационарный на работе, второй - ноутбук в основном дома и на выездах. Ноутбук ездит со мной каждый день на работу и с работы домой. Естественно часть работы я делаю дома. И проблема синхронизации содержимого некоторых папок между двумя компьютерами мне знакома.
Очень давно пользуюсь vuBrief v5.3, даже забыл сколько лет. Помню, что 7 лет назад точно пользовался для синхронизации между рабочим и домашним компьютерами, но через флешку( оба ПК были стационарными).
Более удобной программы не встречал. http://www.vu-brief.com/rus/index.htm
Правда есть в этом способе и не достаток - нужно не забывать ежедневно синхронизировать оба компьютера, до начала работы с файлами. Обычно делаю это утром, когда прихожу на работу. Это уже утренний ритуал такой стал.
В последнее время если я программирую ПЛК (и не только ОВЕН), то держу все свои исходные и откомпилированные проекты, и не только, на Google Drive в интернете (объем 5 Гб бесплатно). Он создает локальные папки на каждом моем компьютере. Прямо в этой локальной папке и компилирую проекты. Синхронизация осуществляется автоматически при подключении к интернету и при любом изменении информации (компиляция, удаление или добавление файлов) в локальной папке в любом из компьютеров, в обоих всегда одинаковые файлы. Очень удобно и к тому же в интернете мне доступны мои файлы с любого устройства, даже с чужого компьютера или с Андройда.
У меня дома и на работе безлимитный интернет(оба компьютера после включения сразу в интернете), скорость на работе 6144 Кбит/с, а дома - 3072 Кбит/с. Синхронизация происходит почти мгновенно.:)
Если при выезде приходится что-то менять в программе "по месту" в ноутбуке и естественно нет интернета, то я уверен в том, что когда вернусь из командировки, при первом подключении к интернету будет автоматически выполнена синхронизация ноутбук->GoogleDrive->рабочий ПК.
Если не нравится Google Drive, то вроде есть Яндекс Диск. Но у меня все равно почта на gmail, так что мне удобней Google Drive.
Да, чуть не забыл, на Google Drive хранятся не только последние версии файлов но так же история их изменения. Получается репозиторий моих файлов, можно откатить к предыдущим версиям проекта если что не так пойдет. Супер.:)
Ну и конечно есть корзина, ни что не пропадет бесследно!

capzap
25.12.2012, 09:49
:) ну вот и до нас "облака" уже добрались

drvlas
25.12.2012, 10:49
:) ну вот и до нас "облака" уже добрались
А чего ж нет... Я с удовольствием пользуюсь Дропбоксом. И даже перетаскивал первый раз проект на этот новый ноут именно через Доропбокс, т.к. не умел еще подключить USB-флешку, чтобы ее из виртуальной машины было видно. Оказалось, что выйти в Инет и оттуда тянуть все проще, чем из геста взять файлы, лежащие на хосте :)
Ну, теперь разобрался, все могу видеть отовсюду, но Дропбокс - сила.

Конечно, я наведу порядок с этой новой машиной и засинхронизируюсь правильным образом. Еще не вчитывался по ссылке уважаемого коллеги petera, но кажется мне, что Дропбокс синхронизирует не хуже. Хотя, возможно, у vuBrief функционал и богаче. Разберемся. После поездки :)

Сейчас продолжу эксперименты. Тут уж вчитываюсь в совет коллеги mikele:

Смотрите где у вас в проекте сохраняются компилированные файлы (ci, ri, sym, sdb). Должны в той же папке, что и проект.
Так и есть.

ДОБАВЛЕНО: Спасибо, коллеги! Все оказалось проще, чем я ожидал: нужно было руки помыть тому заскорузлому пацану, что колбу держит. Как только действительно аккуратно синхронизировал папки - все пошло без сучка, без задоринки. Оба компа подключаются к ПЛК и видят в нем один и тот же проект.
Но хочу заметить, что ваша уверенность в том, что так и будет (особенно порадовало сообщение от mikele) мне помогло не искать причину в супер-пупер сложных фичах КоДеСис. Так что спасибо палюбэ!

2 petera: подозреваю, что ты подал очередную отличную идею :) Я обязательно разберусь с предложенным инструментом. Кста, на изиэлектроникс уже многие высказали благодарность за инфо по кириллице, в том числе и Хозяин форума, многоуважаемый DIHALT. С огромным удовольствием передаю эти благодарности!

drvlas
17.02.2013, 08:56
Хотя, возможно, у vuBrief функционал и богаче. Разберемся. После поездкиСкоро сказка сказывается... Да, разобраться по-взрослому с синхронизацией, бэкапированием, версийностью самых разных проектов - та еще задача. Но она впереди. Пока.


Сейчас продолжу экспериментыДа, несколько экспериментов провели с коллегой (я бы сам такого не провернул).
Научились удаленно шить ПЛК с помошью моста на 3G-модеме. Кльово! Теперь не нужно просить чужого сисадмина как-то пробросить порты для перепрошивки ПЛК через локалку. Там, где есть мобильная связь - там могу и прошить. Но это только начало пути. Хотелось бы прошивать и панель ИП320, и микроконтроллерные устройства (на AVR и STM32). Мы ща в раздумьях - то ли научить ПЛК быть мостом, то ли все же микрокомпьютер на 3G-свисток вешать.
Мне лично идея с ПЛК нравится. Он ведь в моих системах суть центральное звено. Соединен по RS-232/RS-485 с нуждающимися в апгрейдах девайсинами. И к нему по эфиру уже достучались. Как говорится, еще полшага - и он будет все раздавать.
Но в таком варианте програмирование микроконтроллеров - только по бутлодеру. А у меня пока МК-девайс любит ISP по SPI... Так что здесь микроПК имеет преимущество.
В общем, поиграемся. Передать заказчику "черный ящик" с простой инструкцией, куды его всунуть и позвонить мне на мобилку - довольно удобно, если после такой операции я смогу обновить все прошивки в системе. Да, это не задумывалось создателями ПЛК100 и ИП320. Но ведь они, создатели, рассчитывали на применение ПЛК в достаточно уникальных системах, которые разрабатываются, внедряюются и хоть как-то сопровождаются. Да, и программное обеспечение таких систем после никто не допиливает, если не попросят. А когда этот ПЛК ставится в серийный "прибор", в цену которого закладывается лишь гарантийный ремонт на территории изготовителя - вот тут внезапно выясняется, что очень востребована перепрошивка новыми версиями. И снимать всю электронику да пересылать ее на завод - плохое решение. Равно как и ехать к заказчику...

xamitg
30.09.2014, 21:02
Всем добрый вечер!



Научились удаленно шить ПЛК с помошью моста на 3G-модеме. Кльово! Теперь не нужно просить чужого сисадмина как-то пробросить порты для перепрошивки ПЛК через локалку. Там, где есть мобильная связь - там могу и прошить. Но это только начало пути.

можно поподробней объяснить или ткнуть в нужном направлении как прошить через 3Gмодем. третий день мучаюсь с пробросом портов но никак не получается. Если не секрет поделитесь как у вас это получилось.

drvlas
30.09.2014, 22:16
третий день мучаюсь с пробросом портов но никак не получаетсяТак эта... Что именно не получается? Какие действия и какие результаты?А то ведь начинать отвечать, не зная, на каком небе находится консультируемый, довольно тяжело.

xamitg
01.10.2014, 08:03
В офисе стоит роутер с динамическим IP к нему подключен мой ноут. Удаленный ПЛК подключен к роутеру Zyxel keenetik 4g2 с 3G модемом со стат IP. Проброс портов сделан на порт 1200 и 502.

Когда подключаешь ОПС сервер то он как положено передает и считывает данные.

Но когда пытаюсь загрузить программу в ПЛК то постоянно всплвает окно "ошибка связи (#0): произошло отключение".

Проброс портов делал через TCP и через UDP, пробовал порты от 1200 до 1210.
В параметрах связи делал Tcp/Ip (Level 2 Route) и Tcp/Ip (level2).

NAT отключил. (после отключения NAT-a опять сделал проброс портов).

А какой 3G модем вы используете свисток или ОВЕН