.
Wednesday, October 24, 2012
Oct.24 15+Interviews Summarized
Here is a quick summary of all 17 Interviews ( 30-40 minutes) on what is needed to teach IEC 61499 standard on distributed control and automation. Next: summarize by question/topic.
.
.
Wednesday, August 1, 2012
Aug.1 PLC Training
If PLC programmers and technicians will use the IEC 61499 tutorials to extend their applications to include distributed control, then looking at PLC programming classes might be useful. This can help to know..
These were found via ads, google, http://www.plctalk.net
- ...what they know to go from their known to their related unknown
- ... what terms do they use, what standards methods do they follow, etc
These were found via ads, google, http://www.plctalk.net
- http://www.ronbeaufort.com/main_frame_page.htm
- http://www.ehow.com/how_6824747_learn-plc-programming.html
- http://www.plctechnician.com/index.php
- http://www.thelearningpit.com/lp/doc/index.htmlhttp://www.thelearningpit.com/lp/doc/index.html
- http://www.koldwater.com
- http://www2.tesc.edu/syllabus/current/CTR-212/syllabus_CTR-212.html
- http://www.galilmc.com/learning/tutorials.php?type=plc
- alternative PAC: http://www.opto22.com/site/learn.aspx
Wednesday, July 25, 2012
July 25 LMS USB distributed too
Mainly been working on a full set of FBs for the KIPR KISS CBC v2...
So iRobotCreate FB tests are what comes next.
But now the new LMS USB communication is working and allows distributed applications.
FBDK with 2 Simulated LEDs. and checkbox.
If the Box is checked the FBDK LED, and LED 1 on 2 different LMSs turns on.
Not yet working is LMS publishing results to other devices.
Here is a first try at an LMS distributed application::
So iRobotCreate FB tests are what comes next.
But now the new LMS USB communication is working and allows distributed applications.
FBDK with 2 Simulated LEDs. and checkbox.
If the Box is checked the FBDK LED, and LED 1 on 2 different LMSs turns on.
Not yet working is LMS publishing results to other devices.
Here is a first try at an LMS distributed application::
Application on the resources FBDK, LMS1, LMS2 and a Routing Resouce |
Routing Resource Application |
Wednesday, June 27, 2012
July 27 CBC forte implementation
Designing the interfaces for all CBC functions except for create functions (coming) produced interfaces amazingly similar to LMS FBs for similar sensors. Motors are quite different, but not the interface. So are general FB interfaces needed, where only the insides changes or are that can be used as templates?
Forte Specific questions:
Nothing major, but need to note
Forte Specific questions:
Nothing major, but need to note
- WSTRING and STRING data inputs and String functions like strcmp. What type conversions are needed to get it to work. [ask in fordiac forums]
- RSP exported like a normal input event, but it isn't [forte issue - start outside of forums]
- CBC shut_down_in(float delay) Delay is a time, but is type float. 1499 uses "REAL" for float, (I thought), but get type problem. Plus really should use TIME for type even if have to translate it to float. [Assume seconds, but will test and work on translation]
Wednesday, May 30, 2012
May 29 4DIAC on CBC BotBall
Thanks to KIPR for providing the equipment to perform the following test IEC 61499 application mapped to 3 devices over WLAN while visiting.
Finally a truly distributed application for demonstrating a distributed standard.
CBC being Linux based made this simplier.
Test Case:
PC has START/STOP push buttons via IN_EVENTs. When START is pressed, a touch sensor on CBC 1 is allowed to work. When touch sensor is pressed a motor CBC1 runs and the action is mirrored on CBC2 by a motor also running. Release and both motor on CBC1 and CBC2 stop. If STOP on the PC is pressed then the touch sensor on CBC1 has no affect. Additionally a Servo motor moved on CBC 1.
Additional test: No PC: Download application and turn off PC. Touch turns on a motor on both CBC 1 and CBC2.
Finally a truly distributed application for demonstrating a distributed standard.
CBC being Linux based made this simplier.
Test Case:
PC has START/STOP push buttons via IN_EVENTs. When START is pressed, a touch sensor on CBC 1 is allowed to work. When touch sensor is pressed a motor CBC1 runs and the action is mirrored on CBC2 by a motor also running. Release and both motor on CBC1 and CBC2 stop. If STOP on the PC is pressed then the touch sensor on CBC1 has no affect. Additionally a Servo motor moved on CBC 1.
Additional test: No PC: Download application and turn off PC. Touch turns on a motor on both CBC 1 and CBC2.
Saturday, May 5, 2012
May 5 Robotic Arm app
The real task is to:
Currently this application is divided into 3 parts corresponding the 3 motor functions:
1. UP/ DOWN robotic arm until Touch pressed :
- Arm Down
- Claw Close (pick-up cup or other object)
- Arm Up
- Turn
- Claw Open (drop object)
- Turn back (reset)
Currently this application is divided into 3 parts corresponding the 3 motor functions:
- UP/ DOWN robotic arm until Touch pressed
- OPEN / CLOSE claw
- Turn RT/LT
1. UP/ DOWN robotic arm until Touch pressed :
2. OPEN / CLOSE claw = 3. Turn RT/LT except for motor and led port #s
Claw Close, Stop, wait until needed again, Open, Stop
Turn Right, Stop, wait until needed again, Left, Stop
Currently looking into if this is best as Composite FB or Sub-system.
The generalized version has the problem that both motor plus and motor minus end with motor stop, from the last event output its not clear if its from forward or backward.
May 5 64-bit= technical difficulties
May labs will be done with a press simulation. Posts about planned lab apps were to be posted after the lab, but no reason to wait now.
Lab computers are 64-bit Win7. We have a driver that works, basically the standard usbserial driver labeled as ecos. However for the usb ethserial communication we have not found the right combination. Lots of others have had problems, but none found match ours close enough to help. Even the students labtops are now 64-bit.
If anyone reading this knows how to get the RXTX dlls and jar file working under Win7 64-bita please post a comment here or answer my StackOverflow question. It appears to be the right combination of path and 32-bit or 64 bit driver, java, RXTX files, which we have not yet found.
Additionally a USB ethserial version of PUBLISH / SUBSCRIBE FBs has been started using the new layered communication in FORTE.
Lab computers are 64-bit Win7. We have a driver that works, basically the standard usbserial driver labeled as ecos. However for the usb ethserial communication we have not found the right combination. Lots of others have had problems, but none found match ours close enough to help. Even the students labtops are now 64-bit.
If anyone reading this knows how to get the RXTX dlls and jar file working under Win7 64-bita please post a comment here or answer my StackOverflow question. It appears to be the right combination of path and 32-bit or 64 bit driver, java, RXTX files, which we have not yet found.
Additionally a USB ethserial version of PUBLISH / SUBSCRIBE FBs has been started using the new layered communication in FORTE.
Tuesday, April 10, 2012
Apr.10 Building
The lab in May needs Lego constructions to be programmed using IEC 61499.
http://www.nxtprograms.com/ projects are a good starting place to look for models to program with IEC 61499. A modified NXT Robot Arm will be used in the May lab. Today built, modified, and tried 2 more nxtprogram projects. The Peg Sorter will also work for a quick lab exercise. Turning "Forklist" needs modification and may not be ready for May lab.
NXT Forklist that turns like NXT Robot Arm
So today modified the NXT Forklist to turn in circle like the NXT Robot Arm and go up and down. Only still need to go in and out and putting on a "car" may be the easiest solution.
NXT Peg Sorter
This construction uses a light sensor and 2 motors.
Modified so the peg pusher can be returned to it beginning "open" position.
Possible problem, if the motor stops, so white pegs are not free to fall through.
Need to test. Possibly change construction slightly.
http://www.nxtprograms.com/ projects are a good starting place to look for models to program with IEC 61499. A modified NXT Robot Arm will be used in the May lab. Today built, modified, and tried 2 more nxtprogram projects. The Peg Sorter will also work for a quick lab exercise. Turning "Forklist" needs modification and may not be ready for May lab.
NXT Forklist that turns like NXT Robot Arm
So today modified the NXT Forklist to turn in circle like the NXT Robot Arm and go up and down. Only still need to go in and out and putting on a "car" may be the easiest solution.
NXT Peg Sorter
This construction uses a light sensor and 2 motors.
Modified so the peg pusher can be returned to it beginning "open" position.
Possible problem, if the motor stops, so white pegs are not free to fall through.
Need to test. Possibly change construction slightly.
Monday, March 26, 2012
Mar.26 Mechanical arm and claws
Looks like the first lab exercise is changing from the line follower to a mechanical arm because another institute deals with moving robots and automation. At the moment it seems the need for hysteresis controller is gone.
Main Task: Using IEC61499 and the Lego robot claw arm grab an object and drop into boxes of various heights.
Use step-wise refinement:
1. Motor movements (up/ down; open/close; right/left)
2. Safety shut-off: Stop with touch indicates down
3. Do something:
3a. Grab ball
3b. Go up with ball
3c. Move to right or left with ball
3d. Release ball in a box
4. Do all steps in 3 together:
4a. using switches
4b. Automatically
Advanced task: (from NXTprograms Robot Arm) Exchange two balls.
The NXTprograms Robot Arm is used as the base design.
It used 3 motors:
Added for the lab:
Main Task: Using IEC61499 and the Lego robot claw arm grab an object and drop into boxes of various heights.
Use step-wise refinement:
1. Motor movements (up/ down; open/close; right/left)
2. Safety shut-off: Stop with touch indicates down
3. Do something:
3a. Grab ball
3b. Go up with ball
3c. Move to right or left with ball
3d. Release ball in a box
4. Do all steps in 3 together:
4a. using switches
4b. Automatically
Advanced task: (from NXTprograms Robot Arm) Exchange two balls.
The NXTprograms Robot Arm is used as the base design.
It used 3 motors:
- circling (left/right)
- up/down
- open/close of a claw
Added for the lab:
- LED for indicator
- Touch sensor on arm attached to the claw motor to know when the robot arm is down
- NXTprograms Robot Arm 4 prong claw with 2 prongs fixed
- simple
- fixed in one position on one side
- 3 Prong Claw (not sure original author)
- NXT Claw Car with Game Controller - NXT Programs steps 25-32
LEGO MINDSTORMS NXT Build Instructions 3-prong Claw
- 4 Prong Claw with full motion (land version of our team's waterbotics claw in Jan.)
- must be fixed on the side, so doesn't move
- uses gear train
Monday, March 12, 2012
Mar.12 Intro to IEC61499 try 2
Installation distracts from explaining IEC61499
Installation: Using the Quick set-up from the Fordiac DevWiki
- German and English versions have different things, not just different order
- with cygwin - chose a fast mirror .... its slow and is the bottleneck
- often sooo long it end, but faster second time
- posix make doesn't work if they forgot cygwin\bin and/or cmake
\bin in path - test in command window if bash and cmake work
- forte import using hg seemed to confuse both more than expected.
- German version is much different than English, although both ways work.
- German assumes you are using the development version of everything
- English assume you get a version of IDE and Forte somewhere and says what to do with it.
- Probably a how to get and hg for beginners section or link is needed
- Got through SystemTest start
- And forte compile - hopefully later today
Tuesday, March 6, 2012
March 6 State-of -art 1499 tutorials
- Holobloc tutorial explains the concepts
- http://www.ece.auckland.ac.nz/~vyatkin/publ/IES_Mag_1499.pdf
- +Book V. Vyatkin, IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design. USA: ISA-o3neida, 2012
- NxtStudio (has graphical view)
- Book R. Lewis, Modelling control systems using IEC 61499: applying function blocks to distributed systems, Institution of Electrical Eng, 2001.
- http://ie.rutgers.edu/resource/research_paper/paper_05-017.pdf
Looked ISA books - nothing recent Vyatkin and Zoitl
Googled: teaching event programming:
Teaching Event Driven Programming and State Machines related to Pearson online
Cleanroom programming related to white-box / black box programming
Thursday, February 16, 2012
Feb.16 Tacho Motor Encoder
Need interrupts to count the degrees from the tachometer in the motor.
If I understand right this is typically done by quad-code,
where the signal changes indicated how much the motor has turned.
Following are just good references found for now.
The links will be needed for references if really help:
googled "quad-code for beginners" since that what I am.
If I understand right this is typically done by quad-code,
where the signal changes indicated how much the motor has turned.
Following are just good references found for now.
The links will be needed for references if really help:
googled "quad-code for beginners" since that what I am.
- NI's Encoder Measurement: How-To Guide
- NI's Quadrature Encoder Fundamentals
- Encoder Measurments: How-To Guide
- see Figure 5. X1 Encoding for how signal looks
- fpga4fun see Quadrature Decoder
- fpga = field programable gate array
Reviewing existing motor code:
motorAvrSetPwrBrake(cyg_uint32 pa_nOutputPort, cyg_int32 pa_nPercent, int pa_nBrake)
- pa_nPercent is:
- passed in as 32 bits, but ...
- assigned to a 8 bit variable
- sizes should match
- ditto for pa_nBrake
- Also check for motor power between -100 and 100 should be in avr code. If in FB code, a new FB code could forget the check and bad data be sent.
Wednesday, February 15, 2012
Feb.15 Flip-Flop Tutorial 1st trial
Time to start testing the tutorials (text only - video coming)
Round 1
0. Pre-test and Brief IEC61499 overview
Used combination of James Christensen's (AZ has permission) and Alios Zoitl's foils and book figures.
1. Existing TestSystem supplied with the release version of 4DIAC
Not everything was installed, so finished on my laptop. Changes made to 4DIAC 1.1 version
(post-test 1) Understood it was event driven and the key models /views.
2. Flip-Flop tutorial using various ways to apply IEC61499 concepts and 4DIAC features to create a flip-flop. (WIll be long because repeat application ~5 ways)
Today. Finished install of forte and updated the Quick set-up page
Made it through creating the Flip-Flop application with existing block, but did not start System Configuration (time after set-up 1 hour)
Details update notes below.
Next: 2b.Flip-Flop using LMS as the target.
1. Existing tutorial system
Quick-set-up page has not been reviewed probably in a year:
Changed so building Posix and other targets are in different sections now.
It would be good if there were links to set-up for other targets as they are added.
Flip-Flop tutorial:
Summary:
Round 1
0. Pre-test and Brief IEC61499 overview
Used combination of James Christensen's (AZ has permission) and Alios Zoitl's foils and book figures.
1. Existing TestSystem supplied with the release version of 4DIAC
Not everything was installed, so finished on my laptop. Changes made to 4DIAC 1.1 version
(post-test 1) Understood it was event driven and the key models /views.
2. Flip-Flop tutorial using various ways to apply IEC61499 concepts and 4DIAC features to create a flip-flop. (WIll be long because repeat application ~5 ways)
Today. Finished install of forte and updated the Quick set-up page
Made it through creating the Flip-Flop application with existing block, but did not start System Configuration (time after set-up 1 hour)
Details update notes below.
Next: 2b.Flip-Flop using LMS as the target.
1. Existing tutorial system
Quick-set-up page has not been reviewed probably in a year:
Changed so building Posix and other targets are in different sections now.
It would be good if there were links to set-up for other targets as they are added.
Flip-Flop tutorial:
Summary:
- It easy to miss details a beginner doesn't know
- Video will hopefully help it go a bit faster
- IEC61499 concepts need to pointed out when used
- Didn't know to open into the System
- nor how to open System view
- Interesting since both file > new system and so is file > new application are from the menu bar, didn't even know he was in the wrong place at first.
- System creation is followed by Import
- add intro text because beginner thinks they need to both create and import system.
- When asked:
- yes a video would be faster
- yes reading can be so slow you want to take a nap.
- IDE feedback when looking for existing FBs:.
- Without a FB search how should a beginner be told to look for existing FBs without having to explain alot more!?
- need a FB search in FB palette
- Was previously told this was planned, but no feature request - so added one
- What are the differences between using F_AND and E_SWITCH to make a Flip-flop?
- Why would a Elec.Eng. think to use an E_SWITCH without being told, since they using gates?
- E_SWITCH description is confusing
- Needs a next or back at the bottom of a section -didn't know where to go at end of a section.
- IEC61499 things seen: Answered: INIT/INITO
- Tried to connect E_SWITCH.OUT to both QI and IN of the "LED" FB at first
Feb.15 Adaptors explained well
Today adaptors were explained to me and a real example with a mechanical BotBall Lego arm shown. Maybe oversimplified, but in summary:
Adaptors are like:
Interfaces because they are used within other FBs
Connectors because they can be used on the input or mirrored on the output of a FB
Their example opened questions about whether the LMS FB interfaces are really 1499 enough?
The LMS FBs are SIFBs so no ECCs, but light calibration and line follower application could be.
Adaptors are like:
Interfaces because they are used within other FBs
Connectors because they can be used on the input or mirrored on the output of a FB
Their example opened questions about whether the LMS FB interfaces are really 1499 enough?
- When should REQ and data inputs be used to set state like dir(ection).
- When should an event like FWD / BK be used to set the direction state internally.
- In part when the event will cause a state change.
- Is it 1499 like enough, if the Event Control Chart has to look at the event && data for transition?
The LMS FBs are SIFBs so no ECCs, but light calibration and line follower application could be.
Sunday, February 12, 2012
Feb.8 Smaller Stacksize
When the LMS regression test didn't have enough space, the Dec.30 Stacksize information was useful.
The eCos stack was reduced from 4098(=800 in hex) to 1536(=600 in hex).
Using the Dec.30 Stacksize info. that's space for :
the 29 minimum eCos variables + 19 more INT spaces.
The avr_ctl thread stacksize was reduced from 2048 to 1312:
the 29 minimum eCos variables + 12 more INT spaces.
The LMS regression test now works with touch sensor, 3 leds, a motor, 1 button test, and 3 buttons pressed in same test case.
Patches submitted
The eCos stack was reduced from 4098(=800 in hex) to 1536(=600 in hex).
Using the Dec.30 Stacksize info. that's space for :
the 29 minimum eCos variables + 19 more INT spaces.
The avr_ctl thread stacksize was reduced from 2048 to 1312:
the 29 minimum eCos variables + 12 more INT spaces.
The LMS regression test now works with touch sensor, 3 leds, a motor, 1 button test, and 3 buttons pressed in same test case.
Patches submitted
Saturday, February 4, 2012
Feb.5 Sat. link search
Looking what IEC61499 tutorials are currently out there:
So links not lost for possible use as references
Mar.8 IEC 61499 Overview notes Earlier Quotes and notes
tut_61499.zip Tutorial PPT older, but very good (lost link)
http://www.iec61499.org/index.htm
IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design book
http://www.ece.auckland.ac.nz/~vyatkin/publ/IES_Mag_1499.pdfhttp://www.ece.auckland.ac.nz/~vyatkin/publ/IES_Mag_1499.pdf
http://www.knovel.com/web/portal/browse/display?_EXT_KNOVEL_DISPLAY_bookid=3294
http://articles.tutorialonline.biz/portal/language-de/IEC%2061499 a list
http://ie.rutgers.edu/resource/research_paper/paper_05-017.pdf rudgers
----
http://psctexas.com/index.php Houston
http://www.iestcfa.org/events/id_o3neida_2011/IEC61499_statusandnearfuturedevelopments.pdf
http://www.ece.auckland.ac.nz/~vyatkin/o3fb/INDIN06_Suender_etal.pdf overview
So links not lost for possible use as references
Mar.8 IEC 61499 Overview notes Earlier Quotes and notes
tut_61499.zip Tutorial PPT older, but very good (lost link)
http://www.iec61499.org/index.htm
IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design book
http://www.ece.auckland.ac.nz/~vyatkin/publ/IES_Mag_1499.pdfhttp://www.ece.auckland.ac.nz/~vyatkin/publ/IES_Mag_1499.pdf
http://www.knovel.com/web/portal/browse/display?_EXT_KNOVEL_DISPLAY_bookid=3294
http://articles.tutorialonline.biz/portal/language-de/IEC%2061499 a list
http://ie.rutgers.edu/resource/research_paper/paper_05-017.pdf rudgers
----
http://psctexas.com/index.php Houston
http://www.iestcfa.org/events/id_o3neida_2011/IEC61499_statusandnearfuturedevelopments.pdf
http://www.ece.auckland.ac.nz/~vyatkin/o3fb/INDIN06_Suender_etal.pdf overview
Tuesday, January 31, 2012
Feb. 2 LMS in 4diac hg + Tutorials
LMS FBs (forte C++ and FBs xml)) was pushed into the Fordiac mecurial hg for the upcoming 1.1 release.
Function Blocks:
Sensors: LC_LED, LC_LT, LC_TOUCH, LC_SOUND, LC_AD,
Other: L_M_PWR, L_BATTERY, L_BUTTON, L_OFF
Utilitiy: FBs L_AD, L_LED, L_S_PORT as well as L_avrctl
Tutorials: See fordiac dev wiki 4DIAC Framework tutorials
Currently text and soon videos
1. Supplied system - updated so the Publish/Subscribes are in the resource
2. Flip-flop (on PC) - tutorial covers the IDE interface using different ways to implement the same application.
3. Flip-flop (on LMS) - a first application with Lego NXT Brick, Sensors and motors
Soon under LMS tutorials ...
4. LMS Line Follower. The tutorial text will be used as a script for a video version of the tutorials.
Of course further FBs for more LMS HW is under development.
Function Blocks:
Sensors: LC_LED, LC_LT, LC_TOUCH, LC_SOUND, LC_AD,
Other: L_M_PWR, L_BATTERY, L_BUTTON, L_OFF
Utilitiy: FBs L_AD, L_LED, L_S_PORT as well as L_avrctl
Tutorials: See fordiac dev wiki 4DIAC Framework tutorials
Currently text and soon videos
1. Supplied system - updated so the Publish/Subscribes are in the resource
2. Flip-flop (on PC) - tutorial covers the IDE interface using different ways to implement the same application.
3. Flip-flop (on LMS) - a first application with Lego NXT Brick, Sensors and motors
Soon under LMS tutorials ...
4. LMS Line Follower. The tutorial text will be used as a script for a video version of the tutorials.
Of course further FBs for more LMS HW is under development.
Subscribe to:
Posts (Atom)