34
IPD Technical Conference February 19 th 2008 PLCs and Vision Appliance Functions

PLCs and Vision Appliance Functions

  • Upload
    kizzy

  • View
    18

  • Download
    0

Embed Size (px)

DESCRIPTION

PLCs and Vision Appliance Functions. PLC Types. ModBus PLC EtherNet/IP AB Control Logix GE Fanuc SNP / SRTP Melsec PLC Omron C Motoman MRC / XRC. Modbus PLC. Modbus connection consists of 2 parties Modbus Slave : Offers register storage which it accesses locally - PowerPoint PPT Presentation

Citation preview

Page 1: PLCs and Vision Appliance Functions

IPD Technical ConferenceFebruary 19th 2008

PLCs and Vision Appliance Functions

Page 2: PLCs and Vision Appliance Functions

PLC Types

ModBus PLC

EtherNet/IP

AB Control Logix

GE Fanuc SNP / SRTP

Melsec PLC

Omron C

Motoman MRC / XRC

Page 3: PLCs and Vision Appliance Functions

Modbus PLC

Modbus connection consists of 2 parties

Modbus Slave : Offers register storage which it accesses locally

makes available to one or more masters

Modbus Master accesses one slave device register set

Page 4: PLCs and Vision Appliance Functions

ModBus PLC

VA can be added as

Modbus Master

Modbus Slave

Page 5: PLCs and Vision Appliance Functions

VA as Modbus Master

TCP/IP

Can be a master of multiple slave devices

Add a PLC Destination for each IP Address

RS232

Only one PLC slave per serial port

Page 6: PLCs and Vision Appliance Functions

VA as Modbus Slave

Multiple Modbus masters can connect to one VA Modbus Slave.

2 VAs can communicate with each other; One VA as Master, connected to the other VA as a Slave.

Page 7: PLCs and Vision Appliance Functions

ModBus-Function/Data Block

Four Major Data Blocks From VA perspective, each Data Block has a separate zero-based

address space

Coil Status – 1 Bit Read/Write

Input Status – 1 Bit Read Only

Holding Register – 16 Bit Read/Write Offsets specified in 16 Bit Words, but can overlay 32 bit and 64 bit float

types

Input Register – 16 Bit Read Only

Page 8: PLCs and Vision Appliance Functions

ModBus – Data Types

Holding and Input Register Data Blocks support following types: Char – single ASCII character

Signed 16 bit

Unsigned 16 bit

Float 32

Double (64 bit float)

Offset specified to access register in 16 bit Word Units, e.g., first 3 float 32 registers are:

myFloat32[0] , myFloat32[2], myFloat32[4]

e.g., first 3 double registers are:

myDouble64[0] , myDouble64[4], myDouble64[8]

Page 9: PLCs and Vision Appliance Functions

ModBus –Register Attached Vars

When ModBus Dest. Defined, Register Attached Variable is created

Default Attached Var naming convention “MB[DestID][FuncID][TypeID]”

E.g., For [email protected] , Holding Register, signed 16 => MB175HRs16

Can change default attached var name to anything desired.

Index attached var to access any register inside the associated ModBus data block.

e.g., myFloat32Var[20] , access 11th float32 reg

Page 10: PLCs and Vision Appliance Functions

EtherNet/IP

VA is the Server to a :

Implicit Messaging Client E.g. ControlLogix 5550 Controller

PCCC Client E.g. Allen-Bradley SLC5/05

Page 11: PLCs and Vision Appliance Functions

EtherNet/IP – Implicit Message

Use RSLogix 5000 SW to configure Add VA ETHERNET-MODULE in I/O Configuration folder.

Enter VA IP Address, and Assembly object data,

Name Assembly Instance Size

Input 2 100

Output 1 100

Configuration 1 0

Page 12: PLCs and Vision Appliance Functions

Add VA for Implicit Messaging with RSLogix 5000

Page 13: PLCs and Vision Appliance Functions

EtherNet/IP – PCCC Client Setup

Use RSLogix 500 SW to Configure In Channel Configuration Dialog, Configure Channel 1

(Ethernet)

Add Message Instruction to Read or Write to VA. Target Device: PLC5 for VA

Data Table Address,

writes go to VA Input Assembly Object,

reads are from VA Output Assembly Object

Page 14: PLCs and Vision Appliance Functions

EtherNet/IP– Data Types

SINT – Single ASCII character

INT - Signed 16 bit

DINT - Signed 32 bit

REAL - Float 32

Register Indexing is type size aware

e.g., first 3 float registers are: myFloat32[0] , myFloat32[1], myFloat32[2]

Definition of EtherNet/IP Dest. of a given type, overlays Input & Output Assembly Objects with that type.

Page 15: PLCs and Vision Appliance Functions

EtherNet/IP –Register Attached Variables

When EtherNet/IP Dest. Defined, Register Attached Variable is created

Default Attached Var naming convention “EIP[TypeID]”

E.g., For real float 32 => EIPreal Can change default attached var name to anything desired.

Index attached var to access any register inside the Assembly data blocks.

Register Write - operates on Input Assembly Object

Register Read - operates on Output Assembly Object

Page 16: PLCs and Vision Appliance Functions

Control Logix

Uses Explicit Messages to: Query Global Scope and Program Scope Tags

Read / Write Global Scope Tag variables

Read Program Scope Tag Variables

Supports user defined types

Supported by Control Logix and Compact Logix processors

Page 17: PLCs and Vision Appliance Functions

GE Fanuc SNP (Series 90 Protocol)

RS232 Serial Protocol for accessing

GE Fanuc Series 90 PLCs

Protocol defines various Register Sets which the VA can read or write .

Page 18: PLCs and Vision Appliance Functions

Add SNP Destination with VA

Page 19: PLCs and Vision Appliance Functions

GE Fanuc SRTP

An Ethernet Protocol similar to SNP

Allows connecting to GE Fanuc Series 90 PLCs with an Ethernet Interface

Page 20: PLCs and Vision Appliance Functions

MELSEC/Omron PLC

VA is the Master to a :

TCP/IP MELSEC Slave

RS232 MELSEC Slave

Page 21: PLCs and Vision Appliance Functions

MELSEC/Omron - Protocols

MELSEC 1C ACPU

MELSEC 1C AnACPU

MELSEC 2C

MELSEC 3C

MELSEC 4C

OMRON C

Page 22: PLCs and Vision Appliance Functions

MELSEC/Omron – Data Types

One Data Space supports following types: Unsigned 16 bit ( 1 Register WORD Size)

Fixed point ( 4 Register WORD Size)

Offset specified to access register in 16 bit Word Units, e.g., first 3 fixed registers are: myFixed[0] , myFixed[4],

myFixed[8]

Page 23: PLCs and Vision Appliance Functions

MELSEC/Omron–Register Attached Variables

When MELSEC Dest. Defined, Register Attached Variable is created

Default Attached Var naming convention “MLS[StationNum]_[ProtoId][TypeID]”

E.g., For Station 1 Protocol 1C ACPU/Format2 fixed point register => MLS1_1CAF2fp

Can change default attached var name to anything desired. Index attached var to access any register inside the MELSEC data

block. e.g., myFixed[20] , access 6th (20/4+1)fixed point reg Index is always 16 bit WORD offset of register

Page 24: PLCs and Vision Appliance Functions

Motoman MRC/XRC Protocol

RS232 Serial Protocol to access

Motoman Robot Controllers

Offers variables which controller can: Read with LOADV command

Write with SAVEV command

Supports types: BYTE, INT, REAL, Robot Axis in XYZ form

Page 25: PLCs and Vision Appliance Functions

VA Functions

Event Driven Functions

User Functions

Internal Functions

Page 26: PLCs and Vision Appliance Functions

Event Driven Functions

Solution Initialize

Pre-Image Process

Post-Image Process

Periodic Functions

Call with user specified frequency

Input State Change Function

Called when GPI rising/falling

Page 27: PLCs and Vision Appliance Functions

Event Driven Functions(cont.)

Delayed Event Functions Called specified delay after an event

Image Received

Image Processed

PLC Variable Change of State Called when associated register changes value, actual register

must reside on VA Ethernet/IP

Modbus Slave

Page 28: PLCs and Vision Appliance Functions

User Functions

Function a user defines to be called by other functions

passed parameters

returns a value

Page 29: PLCs and Vision Appliance Functions

Internal Functions

Math Functions

String Functions

Acquisition/ IO Control

Logging History Control

Misc

Page 30: PLCs and Vision Appliance Functions

Math Functions sin(radians) cos(radians) tan(radians) asin(x)

arcsine of x in the range -p/2 to p/2 radians, where:  -1 <= x <= 1. acos(x)

arccosine of x in the range -p/2 to p/2 radians, where:  -1 <= x <= 1. atan(x)

arctangent of x in the range -p/2 to p/2 radians atan2(y,x)

arctangent of y/x in the range -p to p radians exp(x)

the exponential value of x. logn(x)

the natural logarithm of x sqrt(x)

square root of x pow(x,y)

x raised to the power y

Page 31: PLCs and Vision Appliance Functions

String Functions

find(substring, inString) finds first substring in the input inString, returns index of first character. Returns -1 if no match. Example: idx = find("00", "SM WRA 0057 4321") returns 7, or sets idx = 7.

substring(string, startIndex, length) forms a sub-string from the input string, beginning at startIndex (zero-based) of length characters. Example: s2 = substring("SM WRA 0057 4321" , 9, 0) returns string "57 4321" in s2.

strlen(string) returns the number of characters in a string.

getchar(string, index) returns the character located at index (zero-based) in the string.

setchar(string, index, char) sets the character in string, located at index (zero-based), to char.

int(string) converts the input string (of numbers) to an integer value. Example:  x = int("33") sets x = 33

float(string) converts the input string (of numbers) to a floating point value. Example:  x = float("57.499") sets x = 57.499

char( int ) Converts integer to a character type

Page 32: PLCs and Vision Appliance Functions

Acquisition/ IO Control Functions

pulse(activeVal, offsetMillisec, durationMillisec) generates a pulse output. The pulse function can only be assigned to Global

Outputs GPO4 through GPO7 on VA40 For Example, the statement:  Global.GPO[4] = pulse(1,5,10)

outputs on GPO4 an active-high pulse of 10 ms duration and offset 5 ms after the statement executes.

trigger() generate an image trigger signal. The Sensor Trigger must be set to "Inspection

Trigger" when using this function.

triggersource(source) set the trigger source / mode to:

freerun, internal timer, external trigger, or software

Page 33: PLCs and Vision Appliance Functions

Logging/History Control

logstart(fileName, onClient) Start logging the processed frame data to the specified CSV file. For Example, logstart(C:\Logs\iHistlog78.csv,0)

logstop()

Stop logging data that was started by a logstart call.

logimage( fileName ) Explicitly specify the file name for the next image logged on the server.

resethistory() clears the history log of stored images and data.

resetstatistics() clears the pass/recycle/reject counters.

Page 34: PLCs and Vision Appliance Functions

Misc. Internal Functions

copy(source, dest, numElements) Copy numElements from source (an array of elements) to dest (an array of elements. The copy function

can be used to cause multiple PLC registers to be updated in a single transaction. For Example (update 3 Modbus registers):

cmd[0] = x cmd[1] = y cmd[2] = z copy (cmd, MB92HRs16, 3)

print(string, endOfFile) Send a string of data to the default printer.

timemillisec( ) returns current time in milliseconds

getkey( ) Returns a new keyboard input if available, otherwise immediately returns 0.