92 files
-
Pinstamp
By neilr216
TASK:
Do more with less.
Write PLC code for an ancient Telesis pinstamp printer
from the early 1990's, replacing a flaky ink jet printer
that never worked properly
Existing control system is an AB SLC500 PLC controlling
a sixteen station assembly line.
An AB basic module was used to communicate to the ink jet.
Our options were:
1) Modify basic module code to suit ancient pinstamp
2) Find another way of doing it since we were in a hurry
and didn't have enough experience with the AB system
to do it in time.
We opted to take an existing OMRON CQM1 PLC that we had
gathering dust in the corner, and write code for the pinstamp
Our part model and reject codes would be sent from the AB
discretely as binary inputs to the CQM1
Using the CQM1 RS-232 port, the Telesis functions strictly
as a printer with no confirmation signals sent back to the CQM1
Having installed a clock module in the CQM1 we were able to extract
the Julian day and year and print it along with the model # and
reject code .
Not exactly the finest example of modern technology, but it
works.
Who said that OMRON and AB can't get along!
P.S. - DM memory saved in project!
872 downloads
Submitted
-
Omron to AB EtherNetIP Explicit Messaging
By PMCR
Example code to read and write integer and floating point data to and from CompactLogix, ControlLogix, and MicroLogix 1400 using EtherNet/IP.
This works with Omron PLCs using CJ1W-EIP21 or CS1W-EIP21 EtherNet/IP modules, or CJ2H-xxx-EIP or CJ2M-CPU3x PLCs with built in EtherNet/IP.
3678 downloads
Submitted
-
Omron Modbus Slave Ladder
By BobB
Omron Modbus RTU slave ladder programs for C200HS Alpha CPM2 CQM1 CQM1H CS1 and CJ1 fot use with onboard serial port.
9095 downloads
Updated
-
Omron CS1 Sequencer
By neilr216
OMRON CS1
This is an example of a sequencer using a reversible shift register instruction
Easy to troubleshoot because you can see what step it is on when the sequence stops for whatever reason.
Easy to add steps and not too bad to insert steps.
This program example shows the ease with which you can move to a specific step in the sequence after an alarm or stoppage.
2666 downloads
Updated
-
NJ/NX Get IP Address
By photovoltaic
A Library containing a function Block that can be run on any Omron NJ or NX PLC. The Function Block will retrieve the host PLC's IP address, Subnet Mask, Gateway, and MAC Address. The Port Details are displayed through 2 structures , 1 per-port. In the event you only have 1 Ethernet port then the structure for the 2nd port will contain all 0s. Data Format:
IP Address - USINT[4]
Subnet - USINT[4]
Gateway - USINT[4]
MAC - BYTE[6] (hex value)
Access the retrieved details by the typical parent-child tag structure. ex. Port_1_Detals.IP_Address[0] will get the first octet of Port 1's IP.
Tested on: NX1P2, NX102, NX502, NX7, and NJ301
IMPORTANT: This Function Block should not be run immediately after startup. Allow the PLC a few seconds to establish a connection with the Ethernet network.
76 downloads
Updated
-
my UNIT STEP RESPONSE
By suresh_
here simpliest 1st order system response to unit step function. Due to Power series limitations, exponential coefficient * time in sec should be < 2.5 to avoid unaccuracy in the results.
5 downloads
Updated
-
my TRAFFIC LIGHT LOGIC WITH TRAFFIC DETECTION
By suresh_
here a simple application of traffic light logic capable of incrementing Green Light timing according to traffic flow measured in the same direction (North_South and West-East direction). For each veichle detected in the intersection when traffic light signal is Yellow, 1sec increment of Green Light timing will be booked for the next cycle and viceversa for the opposite direction.This should ease traffic flow during peak time.
20 downloads
Submitted
-
my Time Integrating Function with PIDAT
By suresh_
here a very simple program for time integration of an AI using SCL2 and PIDAT capability. Integrand is sent to PIDAT SP, PV is 0. Note: in the example integral from 0 to 60 sec of 100 AI is scaled to 6000.
10 downloads
Updated
-
my QUADRATIC SIGNAL INTEGRATOR
By suresh_
here simple fucntion that calculates TIME integral of a quadratic signal with Coefficient (Real number). Error correction section is provided. Note: Input TIME and COEFFICIENT.
6 downloads
Submitted
-
my POWER SERIES INTEGRATOR
By suresh_
In this simple example, approximation via power series is used to simulate the response of a 1st order system [H(s) = 1/(s+a)] Note: input of power series should be less than 2.5 to avoid non linearity in the response.
4 downloads
Submitted
-
MY PIDAT CONTROLLER SIMULATOR IN CX PROGRAMMER
By suresh_
this is my PIDAT simulator for CX programmer. D100 is the Steady State (50BCD in the example), D410 is (simulated) Process value. It needs a Omron PLC ( kind of CP1E) with n.01 AI, n.01 AO ( AO needs to be wired to AI to run the simulator). When starting set D410 (0:100) and start PIDAT to see the regulator at work. Keep AT OFF to see tracking process.
22 downloads
Updated
-
my PIDAT CONTROLLER PLUS DEADTIME
By suresh_
here a control loop capable of simulating a PID controller that is regulating a process with variable DeadTime. To run the simulation it needs the following: 1Nos. PLC ( CP1E is fine) with 2Nos. AI and 1Nos. A0. A signal generator hardwired to AI 90 can be used for simulating Disturbance of the Steady State ( SP 125 Units e.g.) . Note: i)AO 190 is hardwired to AI 91 (MV). ii) the process has no dynamics except for DeadTime.
12 downloads
Updated
-
my LINEAR SLOPE/TIME INTEGRATING FUNCTION
By suresh_
asic integrator provided with error correction section. Inputs are SLOPE * 1000 and TIME *10. No need of PIDAT so it can run on a PC.
INTEGRATOR_02.cxp
6 downloads
Submitted
-
my HYSTERESIS CONTROLLER
By suresh_
here a simple controller useful for operating an AO with Hysteresis. Proposed range is 50 - 200, SP 125, Hysteresis +/-10. Additional Note: an Hysteresis circuit in parallel with a PID controller can be used for tuning complex feedback systems.
13 downloads
Submitted
-
my HELLO WORLD (Lorem Ipsum)
By suresh_
here Hello World ( Lorem Ipsum) in CX programmer via String Data Type. Nice to have when dealing with HMI.
11 downloads
Updated
-
my FOR NEXT LOOP
By suresh_
here a simple example of Array multiplication using a FOR_NEXT loop. It should be stressed that BREAK instruction is fundamental to operate the FOR NEXT loop correctly, on the contrary N: Number of loops ( #DADA in the sample file) of FOR instruction is not so important ( has to be <> #0 anyway ) .
16 downloads
Submitted
-
my FEEDFORWARD PIDAT CONTROLLER
By suresh_
in this sample +/- NOISE signal affecting the Steady State is feeded to PIDAT controller to keep the process stable and reactive. Note: PIDAT function is not implemented in CX simulator.
23 downloads
Submitted
-
my EXPONENTIAL INTEGRATOR (1st ORDER SYSTEM WITH LAG)
By suresh_
here integrating function from T=0 to T=2.5 with POWER SERIES and error correction. D250 simulates behaviour of first order system with lag.
11 downloads
Submitted
-
my DEAD BAND CONTROLLER ON/OFF
By suresh_
in this simple example, very similar to the previous one, 190 AO is controlling the actuator at 0% 50% and 100% of is operating range and 91 AI is providing PV for the error comparator. This control could be beneficial where keeping exactely the SV is not mandatory plus the actuator is operating poorly in the proportional band.
9 downloads
Submitted
-
my CASCADE PIDAT CONTROLLER
By suresh_
in this example we have 2Nos. Ai , 1Nos. AO and 2Nos. PIDAT. The PIDAT in the outer loop has Temperature of liquor inside a reactor (SP of 75°C) as PV.The inner PIDAT is controlling the final element of the loop with lower inertia, ie steam Temperature inside the jacket. Finally the steam valve feeding the reactor jacket is controlled by combined action of both the PIDAT. SP of steam is 175°C.
15 downloads
Submitted
-
my BCD to BIN CONVERTER
By suresh_
here sinple logic similar to BIN function. Note:no need of error flag here bcs in case of input error, converted output is set to #0000 (on the contrary BIN function activates error flag bcs is keeping last valid value).
9 downloads
Submitted
-
MY AO DEAD BAND CONTROLLER IN CX PROGRAMMER
By suresh_
here my simple dead band controller for Omron CP PLC with Analog IO capability, other than that you may have a precise Voltage/Current reference + multimeter, however the controller can work in simulation mode too because only basic functions have been implemented. Proposed values are: Range 50-200, SP 125, dead band +/- 20.
8 downloads
Updated
-
my 3X3 MATRIX OPERATOR
By suresh_
simple algoritm for 3x3 matrix multiplication. Tot. Nos. N x N FOR loop will be required to do the math (9 in this case). Refresh every time one input value is changed. Reduction of FOR loops via nesting may be applied.
8 downloads
Submitted
-
Modbus TCP Client using FB's
By Nibroc
Example Implementation of Modbus TCP Client using Standard Omron Function Blocks.
3793 downloads
Updated
-
Modbus RTU Sample Code CJ1/SCB
By BobB
This is sample code for receiving and manipulating data from Si-TEC CGC generator controller
4989 downloads
Updated