Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 23

Тема: rs 232, 485, Ethernet

  1. #11

    По умолчанию

    Дитя здесь не при чём. Я в первом посте написал, что это срочно, а это значит, что подрядчики, которые должны были автоматизировать производство, честно свалили, оставив оборудование, которым они хотели воспользоваться.
    Я же впервые вижу ПЛК, занимался до этого STM32 (и на нём могу всё написать за пару дней на Си). Но оплачивать новые устройства и работу электронщика никто не будет.
    Поэтому у меня единственный вариант - воспользоваться тем, что есть. И это не обсуждаемо. Т.о. есть ПК и ПЛК; на ПК уже написано ПО (и программист ждёт только протокола общения устройств по ModBus или же Ethernet).

    Поэтому и задаю вопрос: как в таких условия быстрее решить задачу?

  2. #12
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от vaz Посмотреть сообщение
    Дитя здесь не при чём. Я в первом посте написал, что это срочно, а это значит, что подрядчики, которые должны были автоматизировать производство, честно свалили, оставив оборудование, которым они хотели воспользоваться.
    Я же впервые вижу ПЛК, занимался до этого STM32 (и на нём могу всё написать за пару дней на Си). Но оплачивать новые устройства и работу электронщика никто не будет.
    Поэтому у меня единственный вариант - воспользоваться тем, что есть. И это не обсуждаемо. Т.о. есть ПК и ПЛК; на ПК уже написано ПО (и программист ждёт только протокола общения устройств по ModBus или же Ethernet).

    Поэтому и задаю вопрос: как в таких условия быстрее решить задачу?
    по ethernet с помощью modbusTCP
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #13

    По умолчанию

    Дитя здесь не при чём. Я в первом посте написал, что это срочно, а это значит, что подрядчики, которые должны были автоматизировать производство, честно свалили, оставив оборудование, которым они хотели воспользоваться.
    Я же впервые вижу ПЛК, занимался до этого STM32 (и на нём могу всё написать за пару дней на Си). Но оплачивать новые устройства и работу электронщика никто не будет.
    Поэтому у меня единственный вариант - воспользоваться тем, что есть. И это не обсуждаемо. Т.о. есть ПК и ПЛК; на ПК уже написано ПО (и программист ждёт только протокола общения устройств по ModBus или же Ethernet).

    Поэтому и задаю вопрос: как в таких условия быстрее решить задачу?

  4. #14

    По умолчанию

    забыл добавить: на ПК стоит ос Linux

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

    По умолчанию

    Программист сможет дергать отсюда ? http://rapidscada.ru/integration-with-rapid-scada/ (там базы данных по всем сигналам будут)

    Если да, то устанавливайте, настраивайте и говорите программисту какие каналы за что отвечают. Эта штука на Linux работает, имеет встроенные драйвера Modbus.
    Единственное, потребуется платный модуль автоматического управления, так как эта scada не рассчитана, что устройствами будут рулить через нее извне, а не она.
    Есть подводные камни, но думаю разработчик поможет

    Очень интересен момент в вашем случае - программист есть, и даже есть программа (программа чего собственно ? от балды ?) а спецов почему-то нет....

    А, или гляньте тут тема была про работу через питон. Раз у вас Linux.

    И очень интересно оборудование ? Может производитель оборудования иметь готовые решения (собственные scada системы)
    Последний раз редактировалось melky; 30.06.2017 в 13:14.

  6. #16

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Программист сможет дергать отсюда ? http://rapidscada.ru/integration-with-rapid-scada/ (там базы данных по всем сигналам будут)
    Спасибо, интересный вариант. Свяжусь с программистом.

    Цитата Сообщение от melky Посмотреть сообщение
    Очень интересен момент в вашем случае - программист есть, и даже есть программа (программа чего собственно ? от балды ?) а спецов почему-то нет....
    Программа очень большая и сложная наподобие OPC-cервера со SCADA-системой, только с большим количеством математики для обработки результатов.
    А "спецы", я же написал выше, - свалили.

    Цитата Сообщение от melky Посмотреть сообщение
    И очень интересно оборудование ? Может производитель оборудования иметь готовые решения (собственные scada системы)
    Из всего "высокоуровневого" оборудования только ПЛК110.

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

    По умолчанию

    Ну так если только Modbus то еще вот читайте, человек уже разобрался.

    http://www.owen.ru/forum/showthread.php?t=26877

  8. #18

    По умолчанию

    Спасибо. Разбираюсь с темой и примерами.

  9. #19

    По умолчанию

    Ещё раз здравствуйте!

    Начал разбираться с сокетами. Часть кода нашёл, часть написал. Вот, что получилось (сокет-сервер, библиотека SysLibSockets):


    CASE state OF
    0:
    IF sock > 0 THEN SysSockClose(sock);
    END_IF

    IF sock = SOCKET_INVALID THEN
    sock := SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, SOCKET_IPPROTO_TCP);
    END_IF

    (* sock:=SysSockGetLastError(sock);*)

    IF sock<>SOCKET_INVALID THEN
    state := 1 ;
    ELSE state:=0;
    END_IF
    1:
    sa.sin_family:=SOCKET_AF_INET;
    sa.sin_addr:=SOCKET_INADDR_ANY;
    sa.sin_port:=SysSockHtons(Port);

    IF sock <> SOCKET_INVALID THEN

    bind_sock:=SysSockBind(sock,ADR(sa),SIZEOF(sa));
    IF bind_sock=0 THEN
    state:=0;
    ELSE
    state:=2;
    END_IF
    END_IF
    2:
    listen:=SysSockListen(sock,diMaxConnections);
    IF listen<0 THEN
    state:=0;
    ELSE state:=3;
    END_IF
    3:
    ClientSock:=SysSockAccept(sock,ADR(sa),SIZEOF(sa)) ;
    IF ClientSock<>Socket_invalid THEN
    state:=4;
    END_IF

    4:
    RecvBytes:=SysSockRecv(Clientsock,ADR(resp),SIZEOF (resp),0);
    my_data[0]:=resp[0];
    my_data[1]:=resp[1];

    IF RecvBytes=12 THEN
    state:=444;
    RecvBytes:=0;
    diByte_1:=0;
    END_IF

    ControlClose_TON(IN:=TRUE, PT:=T#3s);
    IF ControlClose_TON.Q THEN
    state:=5;
    END_IF

    444:
    counter:=counter+1;
    IF counter>=10 THEN
    counter:=0;
    state:=44;
    END_IF


    44:
    (*my_data[0]:=00;
    my_data[1]:=00;*)
    my_data[2]:=00;
    my_data[3]:=00;
    my_data[4]:=00;
    my_data[5]:=05;
    my_data[6]:=01;
    my_data[7]:=03;
    my_data[8]:=02;
    my_data[9]:=00;
    my_data[10]:=05;

    diByte_s:=SysSockSend(Clientsock, ADR(my_data), SIZEOF(my_data), 0);
    state:=4;

    ControlClose_TON(IN:=FALSE);

    5:
    ControlClose_TON(IN:=FALSE);

    SysSockShutdown(Clientsock, 2);
    SysSockClose(Clientsock);
    SysSockShutdown(sock, 2);
    SysSockClose(sock);
    state:=0;

    END_CASE

    Вопрос такой: почему не открывается порт (1025)?
    В приложении скриншоты отладки и порт-снифера.
    Контроллер ПЛК110.
    debug.jpg
    ips.jpg

    Порты в win 8.1 открыл туда и обратно.
    Последний раз редактировалось vaz; 02.08.2017 в 16:12.

  10. #20
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    diSocket:=SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, 0 (*SOCKET_IPPROTO_IP*));
    IF diSocket <> SOCKET_INVALID THEN
    sa.sin_family:=SOCKET_AF_INET;
    sa.sin_addr:=SOCKET_INADDR_ANY;
    sa.sin_port:=SysSockHtons(iPort);
    IF BOOL_TO_DINT(SysSockBind(diSocket, ADR(sa), SIZEOF(sa)))<0 THEN
    diSocket:=SOCKET_INVALID;
    ELSE
    IF BOOL_TO_DINT(SysSockListen(diSocket, 1))<0 THEN
    diSocket:=SOCKET_INVALID;
    END_IF;
    END_IF;
    END_IF;
    TcpServerOpenSocket:=diSocket;
    сравните со своим кодом
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Преобразователи 232-Ethernet, 485-Ethernet
    от and909 в разделе Разработки
    Ответов: 23
    Последнее сообщение: 13.04.2023, 00:21
  2. 485 232 ethernet
    от DanJer в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 09.08.2012, 10:56
  3. Ответов: 4
    Последнее сообщение: 11.01.2011, 22:00
  4. ПЛК 150 ИМ и Ethernet
    от SysTech в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.04.2010, 11:49
  5. Ethernet and ПЛК 154 - 220 - И.М.
    от Max81 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 07.08.2009, 16:41

Ваши права

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