This is part of 2.1.0latest release.

MLxCommunicationRead

2.0.0

Communication handling for reading from a MotoLogix system.

This function should be called at the beginning of the PLC task, or at least before any other MotoLogix function.

Version history

2.0.0

  deGroot

Changes

Added:
  • commLatency output for monitoring the communication latency
Changed:
  • library version number to 2.1.0
  • PLC side synchCounter timeout setting increased to 1000ms
Removed:
  • unused internal variables
Fixed:
  • flickering synchCounter
show full history

1.0.0

  Rioual

Changes

Added:
  • RemoteMode signal handling
Changed:
  • library version number to 2.0.0
Fixed:
  • ServoOnReady signal handling

0.1.0

  deGroot

Changes

Changed:

Overview

kindnametypedefaultcomment
inputFirstScanBOOLfirst scan after startup of plc
outputcommLatencyINT-1communication latency [ms] (-1=not connected)
in_outMLX_InputARRAY[0..435] OF USINT
in_outMLXMLxDataThe MLxData Controller Scope tag.

Details

FirstScan

BOOL

Must be True for the first scan after startup of plc.

commLatency

INT
(default: -1)

Measured communication latency in ms.

This is the time measured between the ReadPacket.synchCounter increments. It helps to understand what setting is needed for the robot controller watchdog (S3C1380) if you experience communication timeouts.

valueexplanation
-1not connected
0-999latency in ms

MLX_Input

ARRAY[0..435] OF USINT

Input data buffer (mapped to fieldbus IO).

The MotoLogix variable which acts as the shared memory for a MotoLogix system.

As the PLC runs through its scan cycle each active MotoLogix FB will read from- and write to this MotoLogix variable.

It is also used for processing the data red from- and sent to the robot controller.

There are a few important rules:

  • MLxCommunicationRead must be called at the very beginning of the PLC scan cycle.
  • MLxCommunicationWrite must be called at the very end of the PLC scan cycle.
  • All other MotoLogix FB’s used in your application must be called inbetween.
  • All off this must be handled by the same PLC task, respecting above rules.

Failing to follow above rules can lead to inconsistent data being sent to the robot controller which could result in unexpected motion.

Implementation

Snippet of the function call:
fbCommunicationRead : ARRAY[0..0] OF MLxCommunicationRead;

// fbCommunicationRead[0].FirstScan := ;
fbCommunicationRead[0]( MLX_Input := dummy,  MLX := dummy );
//  := fbCommunicationRead[0].commLatency;

Pages built with Hugo - 23 Apr 2024 11:54 CEST