Welcome, Guest. Please login or register.
Did you miss your activation email?
May 24, 2012, 11:02:47 AM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  Yaskawa Motoman Robot Forum (Moderators: Fabian Munoz, Napierian)
| | |-+  CIO and Job synchronisation and execution
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: CIO and Job synchronisation and execution  (Read 535 times)
llejik
Newbie
*
Offline Offline

Posts: 14


« on: November 16, 2011, 09:05:00 AM »

I'm working on an application on DX100, that requires a tight sequence of signals comprising digital signals and fieldbus (in the end it is probably going to be profibus).

For this purpose I have the process divided between the CIO program and jobs. However so far i have been unable to find any information about how CIO and JOB are executed. What I need to know is this:

Are they executed in parallel ?
Is CIO executed "atomically" or can its execution be interrupted by some sort of task scheduler which would also allocate some time to processing JOB operations, motion etc. ?

Is it necessary to implement some sort of a semaphore in CIO, to make sure that the JOB part waits until CIO is done since I really need strict execution sequence.

I hope it's clear enough what I'm asking. I don't need to know about semaphores, mutexes,  task synchronization in general etc. I just want to know how DX100 executes the CIO program and JOBs.
Logged
potis
Sr. Member
****
Offline Offline

Gender: Male
Posts: 307



« Reply #1 on: November 16, 2011, 03:37:10 PM »

CIO is actually an internal plc for the motoman. it is always running and you can make individual tasks for specigic I/O. it is also responsible for the signal allocation and also you can find ready made CIO for each aplication.
The JOBS on the other hand are you actual program for the robot. You can write a robot job that icludes all kind of movements of the robot as also complex logic for controllinghte logic and I/O.
There are also the Concurrent jobs that are made for controlling external devices etc. and this is what i am proposing you. You can have a mster job that is a robot job and you can run in parallel the concurent jobs for contolling anything you like fe making handshaking, change variables etc .
this way youcan make your life easier and not messing with complex CIO.
for this you will need the command PSTART and PWAIT.
Hope it helps
Logged
llejik
Newbie
*
Offline Offline

Posts: 14


« Reply #2 on: November 25, 2011, 12:41:31 PM »

Hello, thank you for the suggestion, however that's not the question i was asking. I'm not looking how to perform the tasks (in fact the process has so far already been constructed partially with CIO and partially with Jobs). The point is how is CIO and Job execution synchronised ? Signals are mapped in CIO and jobs are performed independently, I get that, they run in paralel etc. OK, but how are they synchronised ?

For example if the process in a job is waiting for a certain combination of digital inputs or signals from a fieldbus  (both are mapped in system CIO ) can it be assumed, that ALL the signal mapping is done in an instance or would it be possible that the job would observe a change in the inputs WHILE system CIO is changing them and would therefore see an intermediary / wrong situation (since not all the signals are updated yet)?
Logged
Robo Guru
Sr. Member
****
Offline Offline

Gender: Male
Posts: 479



« Reply #3 on: November 25, 2011, 06:39:50 PM »

The CIO is a plc and it scans the ladder file from top to bottom in about 8ms.  The I/O updates accordingly in that time period one scan at a time.

The CIO is continously updating while controller power is on.

If your robot goes to read input #1 then it will act on it's current state.

RoboGuru

Logged
Robodoc
Motoman Robot Support
*****
Offline Offline

Gender: Male
Posts: 229



« Reply #4 on: November 26, 2011, 03:30:36 PM »

The CIO and running jobs in the robot are never "synchronized".  Think of the CIO and robot jobs as a PLC and HMI.  The PLC (CIO) runs all the time, scanning inputs, applying the result to the logic and setting the outputs & the HMI (robot jobs) has been programmed and waits for someone to press a button, but can do some features on it's own. 
Logged

Robodoc
llejik
Newbie
*
Offline Offline

Posts: 14


« Reply #5 on: November 30, 2011, 01:30:44 PM »

Thank you all for the explanations. Things are getting cleare to me, but no completely yet...

I understand the PLC / HMI analogy.

However PLCs can update their outputs while they are executing their logic or all together at the end of each cycle. (If you are a Siemens person this is the same as saying you either output a value to a PQW vs outputting it to a QW).

For my application this is important: when does the "interface" - relay signals that is, between the CIO and the Job executing part get updated. Does it get updated line by line while the CIO is actually being executed or once at the end of the CIO cycle ?  This is important because I need consistency of signals in the job-executing part.
Logged
Robo Guru
Sr. Member
****
Offline Offline

Gender: Male
Posts: 479



« Reply #6 on: December 01, 2011, 01:30:42 AM »

I'm pretty certain it's updated as it scans however i've never really seen any formal documentation that says so.
Logged
jejbr84
Newbie
*
Offline Offline

Posts: 13


« Reply #7 on: December 06, 2011, 12:09:30 AM »

You could easily find out the behavior when you program some CIO code and set outputs spread across the CIO (1 at the front, 1 in the middle and 1 at the end). Attach an oscilloscope to the outputs and watch if there is time delay between the outputs.

I believe you will see no time delay, because the CIO updates all outputs at the end of the 4ms cycle (like a normal PLC).
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!