Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 46

Тема: связать плк110 и считыватель проксимити карт (hid, e-marine, mifare)

  1. #31
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Можно написать программу так, что в ПЛК будут загружаться все разрешенные id карт, например в файл, а в Modbus отдавать только Разрешено/Запрещено.

  2. #32

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    по Nmodbus4 не подскажу, я на java работаю.
    Просто надо считать несколько регистров из плк с помощью функции 3, описаний modbus tcp в интернете есть.
    Я кстати не передавал весь id карты, а последние 4 байта (2 регистра), мне хватило, на 30 моих карт совпадений не было.
    Разбейте задачу на подзадачи.
    1)Сначало создайте в ПЛК пару регистров и научите вашу программу читать эти регистры одним запросом, ну и писать можно.
    2)Затем работайте с SysLibCom и пробуйте вытаскивать id карты, тут никаких modbus.
    3)Байты который получили на шаге 2 пишите в регистры шага 1 и готово. Тоесть modbus плк и работа со считывателем это разные задачи не относящиеся друг к другу для ПЛК.

    Для работы с портом ПЛК надо использовать SysLibCom библиотеку, например.
    Примеры есть тут
    т.е логика такая правильно ли я понял: ?
    а) в самом ПЛК выполняется в процессе работы контроллера микропрограмма в памяти контроллера и можно подключать к этой микропрограмме дополнительные библиотеки для расширения функционала(например SysLibCom позволяет работать с Com портом) ?
    б) в конфигураторе подключаем библиотеку SysLibCom дающая функционал для работы с COM портом
    в) на языке CFC пишу программу, которая опрашивает в постоянном режиме COM порт(232 или 485) или может опрос в автоматич режиме идет и только создается наподобие Слушателя интерфейса(Listener) ?
    г) можно ли к одному порту rs-232 или rs-485 подключить несколько считывателей?
    д) если получил какие то данные по COM порту - записываю из в регистр
    е) а из регистра по modbusTcp забираю эти данные к себе в программу на комп

  3. #33
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Примерно так, только про CFC придется чуток забыть наверное, задача больше для ST.

    Не понятно, чем вас не устраивает вариант с готовыми контроллерами карт ? Вам же потом просто отдать команду в ПЛК, чтобы он открыл шлагбаум и все.

  4. #34

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Примерно так, только про CFC придется чуток забыть наверное, задача больше для ST.

    Не понятно, чем вас не устраивает вариант с готовыми контроллерами карт ? Вам же потом просто отдать команду в ПЛК, чтобы он открыл шлагбаум и все.
    готовые контроллеры это какие например и как с ними работать из программы на C# ?

  5. #35
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от voale Посмотреть сообщение
    т.е логика такая правильно ли я понял: ?
    а) в самом ПЛК выполняется в процессе работы контроллера микропрограмма в памяти контроллера и можно подключать к этой микропрограмме дополнительные библиотеки для расширения функционала(например SysLibCom позволяет работать с Com портом) ?
    б) в конфигураторе подключаем библиотеку SysLibCom дающая функционал для работы с COM портом
    в) на языке CFC пишу программу, которая опрашивает в постоянном режиме COM порт(232 или 485) или может опрос в автоматич режиме идет и только создается наподобие Слушателя интерфейса(Listener) ?
    г) можно ли к одному порту rs-232 или rs-485 подключить несколько считывателей?
    д) если получил какие то данные по COM порту - записываю из в регистр
    е) а из регистра по modbusTcp забираю эти данные к себе в программу на комп
    a) примерно так, всё работает в основной программе
    б) не в конфигураторе, есть спец меню для биб-ок
    в) лучше на ST, слушателей нет. У меня например чтобы прочитать id надо попросить считыватель (rs232), я ему "дай id", он мне присылает id, если не прислал в течении какого-то времени еще раз говорю "id дай", если отдал, жду 300мс и опять спрашиваю. Есть считыватели, которые сами как только видят карту присылают её id, просить ничего не надо. Читать\писать в\из порта функциями, которые подключаются с помощью бибки.
    г) зависит от протокола и интерфейса, никто не скажет так на бум
    д) да
    е) да
    Последний раз редактировалось Kish; 24.05.2019 в 14:31.

  6. #36

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    в) лучше на ST, слушателей нет. У меня например чтобы прочитать id надо попросить считыватель (rs232), я ему "дай id", он мне присылает id, если не прислал в течении какого-то времени еще раз говорю "id дай", если отдал, жду 300мс и опять спрашиваю.
    1)можешь скинуть как выглядит это скрипт опроса?
    2)а если пока ты ожидаешь 300мс между запросами произойдет считывание карты, то код считанный придет или нет? считыватель хранит в какой-то внутренней памяти последний считанный код?
    3)кроме как "дай id" можно ли получать некий индентификатор самого считывателя, чтобы в случае если подключены несколько считывателей к одному порту RS232 , чтобы можно было понять какой считыватель вернул какой код?

    Цитата Сообщение от Scream Посмотреть сообщение
    Есть считыватели, которые сами как только видят карту присылают её id, просить ничего не надо.
    можно модели таких считывателей?

  7. #37
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от voale Посмотреть сообщение
    1)можешь скинуть как выглядит это скрипт опроса?
    2)а если пока ты ожидаешь 300мс между запросами произойдет считывание карты, то код считанный придет или нет? считыватель хранит в какой-то внутренней памяти последний считанный код?
    3)кроме как "дай id" можно ли получать некий индентификатор самого считывателя, чтобы в случае если подключены несколько считывателей к одному порту RS232 , чтобы можно было понять какой считыватель вернул какой код?


    можно модели таких считывателей?
    я скидывал в этой теме модель считывателя чуть ранее.
    Всё это зависит от считывателя и протокола к нему, всё разное.
    Последний раз редактировалось Kish; 24.05.2019 в 14:32.

  8. #38
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    У Болид есть контроллеры доступа, к которым подключаются считыватели, если связь обрывается между системой то контроллер продолжает открывать закрывать исходя из данных внутренней памяти, какие карты в нем заведены. Поспрошайте спецов по Болиду и Ориону, вам объяснят механизм.
    И у Болид есть С2000-ПП который может преобразовать их протокол в Modbus. А уж читать Modbus вы вроде умеет.
    Опять же с контролера доступа кажется можно дискретные сигналы на ПЛК подать и открывать, закрывать шлагбаум вообще дискретными сигналами
    Последний раз редактировалось melky; 02.05.2017 в 20:29.

  9. #39

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    я скидывал в этой теме модель считывателя чуть ранее.
    Всё это зависит от считывателя и протокола к нему, всё разное.
    на примере считывателя с которым ты работал

  10. #40
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от voale Посмотреть сообщение
    на примере считывателя с которым ты работал
    Вот поиск карты

    Код:
                buf[1]:=253;
                buf[2]:=id;
                buf[3]:=69;
                buf[4]:=dataCommand;
                buf[5]:=0;
                buf[6]:=0;
                buf[7]:=254;
                len_command:=7;(*Обязательно указываем ВСЮ(со стартовым и стоповым битом) длину команды*)
                fcs:=16#FFFF;
                FOR i:=2 TO len_command-3 DO (*FCS Рассчитывается без стартового бита и без последних 3х (внимательно с массивом нач с 0)*)
                    Calc_FCS(buf[i]);
                END_FOR
                fcs:=NOT fcs;
                buf[5]:=WORD_TO_BYTE(fcs);
                buf[6]:=WORD_TO_BYTE(fcs/256);
                count_W:=SysComWrite(com_num,ADR(Buf),len_command,0);
    Последний раз редактировалось Kish; 24.05.2019 в 14:32.

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Похожие темы

  1. Работа с USB Flash карт в новом ПЛК110
    от Newcomer в разделе ПЛК1хх [М02]
    Ответов: 176
    Последнее сообщение: 10.08.2020, 11:29
  2. Ответов: 7
    Последнее сообщение: 03.10.2013, 10:57
  3. Не получается связать ПЛК110-30 + МДВВ
    от Alexandr в разделе Эксплуатация
    Ответов: 7
    Последнее сообщение: 03.10.2013, 10:57
  4. Связать мв110 224.2а с плк110.32
    от K580BB55A в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 29.05.2012, 06:28
  5. Как связать пк и два ПЛК110-60?
    от malabiker в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 07.02.2011, 11:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •