trust already work Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 8 » Портал инженера

Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 8

Компьютерная программа Visual Basic (VB6) Продолжить

Отображается часть программы, и мы рассмотрели протокол TCP-протокола Modbus. Пришло время начать код VB6. Давайте обсудим, как будет работать логика.
1. Пользователь выбирает «Start Logging»
2. Таймер для интервала между сообщениями останавливается.
3. IP-адрес используется для открытия соединения winsock. Если соединение выполнено, цвет фона IP-адреса станет зеленым, и мы продолжим шаг 4. Если соединение уже существует, перейдите к шагу 4. Если соединение не может быть выполнено, цвет фона будет красным, дальнейшее выполнение останавливается. Программа будет продолжена на шаге 1.
4. Выполняется следующая последовательность команд: Определите, какую команду отправить.

  • Прочтите ежедневный журнал производства и минутные указатели (MHR1 и MHR2)
  • Если MHR2 (Minute Log Pointer)> 670, то
    • Запросите минутный журнал, начиная с MHR670, и продолжайте увеличивать на 10, пока не будет запрошено последнее местоположение.
    • Запишите значение 670 в MHR2 (сбросьте указатель)
  • Если MHR1 (Ежедневный указатель журнала производства> 30, то
    • Запросите ежедневный журнал производства, начиная с MHR30 и продолжайте увеличивать на 20, пока не будет запрошено последнее местоположение.
    • Запишите значение 30 в MHR1 (Сбросьте указатель)
  • Прочтите текущую информацию о протоколе минут, начиная с MHR660
  • Прочтите текущую информацию о ежедневном производстве, начиная с MHR10
Как только команда отправлена, таймер установлен, чтобы определить, потеря связи.5. Если таймер для связи потерян, перейдите к шагу 3. Повторите последнюю команду.6. Выключите таймер, чтобы определить, была ли потеря связи. Прочтите информацию из инструмента winsock. Если данные необходимо сохранить, обновите базу данных. Установите таймер для интервала между сообщениями.

Вышеупомянутый - общий программный поток для программы.
Вот наши переменные:

Dim MbusQuery 
Public MbusResponse As String 
Dim MbusByteArray (255) As Byte 
Public MbusStatus As Integer 
Public ProductionPointer As Integer 
Public MinutePointer As Integer       
Private Sub Command1_Click()
Timer1.Enabled = False ' Stop the interval between reads to the PLC

Timer1 используется для управления количеством времени между интервалами связи с ПЛК.

Dim StartTime
If Winsock1.State <> 7 Then
    If (Winsock1.State <> sckClosed) Then
        Winsock1.Close
    End If
    Winsock1.RemoteHost = Text1.Text ' Set IP Address
    Winsock1.Connect
    
    StartTime = Timer ' Use the timer to determine if a connection cannot be made
    
    Do While ((Timer < StartTime + 2) And (Winsock1.State <> 7))
        DoEvents
    Loop
    If (Winsock1.State = 7) Then
       Text1.BackColor = &HFF00& ' Change background colour to green
    Else
       Text1.BackColor = &HFF ' Change background colour to red
       Exit Sub
    End If
End If

Здесь приведен код для управления Winsock1. IP-адрес, введенный в Text1, используется для установки RemoteHost. Затем мы проверяем состояние Winsock1. Ниже перечислены различные состояния, которые Winsock1 может быть:
постояннаяСтоимостьОписание
sckClosed0По умолчанию. Закрыто
sckOpen1открыто
sckListening2прослушивание
sckConnectionPending3Ожидание соединения
sckResolvingHost4Разрешение принимающей стороны
sckHostResolved5Хост разрешен
sckConnecting6соединительный
sckConnected7Связанный
sckClosing8Peer закрывает соединение
sckError9ошибка
Вот информация, которую нам нужно будет прочитать и записать в регистры MHR в ПЛК Do-More.

«Прочтите информацию'0000: Идентификатор транзакции'0000: Идентификатор протокола'0006: Длина сообщения (6 байтов)'00: Идентификатор устройства  '03: Код функции (чтение регистров считывания MHR)'0000: Адрес данных первого регистра'0002: количество регистров для записи
'Напишите информацию'0000: Идентификатор транзакции'0000: Идентификатор протокола'0009: Длина сообщения (6 байтов)'01: Идентификатор устройства  '16: Код функции (чтение регистров хранения аналогового выхода)'0000: Адрес данных первого регистра'0001: количество регистров для записи'02: количество байтов данных'0030 Число, которое нужно ввести в регистр
Вся информация будет представлять собой байты данных. Максимальное значение в байте - 256. Если нам нужно отправить значение 600, то два байта данных будут:
600/256 = 2.34
Самый старший байт - 02
600 - (256 * 2) = 88
Наименее значимый байт - 88.
Таким образом, информация, которую нам нужно отправить через Winsock1, будет Chr (2) и Chr (88), чтобы представить значение 600.



Источник: http://automation-control-blog.blogspot.ru


Обсудить на форуме

Комментарии

Добавить комментарий
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 7

      Мы начали нашу программу VB и установили наши подключения Adodc к базе данных. Продолжаем установку ярлыков с помощью соединений Adodc. Затем мы установим связь с ПЛК Do-More и поместим информацию в нашу базу данных Access 2007 (* .accdb).

    Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 6

      Мы рассмотрели, что такое VB, и обсудили, что нам нужно сделать, чтобы получить информацию из ПЛК Do-More и в базу данных Access 2007 (* .accdb).

    Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 5

      Теперь мы начнем писать программу на визуальном уровне. (VB) Visual Basic является продуктом Microsoft. Он был разработан, чтобы программы могли быть легко записаны. 

    Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 4

      Аналогичные шаги будут предприняты, но нам больше не нужно отслеживать информацию о сдвиге по смене.

    Теперь вы можете иметь надежную регистрацию данных бесплатно - часть 1

      Надежный регистратор данных PLCС помощью традиционных регистраторов программное обеспечение будет считывать информацию о ПЛК и хранить на локальном компьютере.

    Создание программы ПЛК - часть 2

      В первой части мы рассмотрели записи программ ПЛК для управления светофором с использованием дискретных битов, а затем с использованием временной последовательности с использованием косвенной адресации.