Application Testing
HW mapping determines what applications will be run during deployment.
Usually just 1 application, so can unmap all but 1 application to test.
OR connect the INIT of next application to be tested to output event of previous application.
Then they run at same time.
4DIAC-IDE preferences FORTE location:
default with no additions: C:\...\4DIAC-IDE_0.3\runtime\FORTE\FORTE_0.3.6.exe
with applications compiled into:
C:\...\FORTE-0.3.6\FORTE_0.3.6\bin\pc\src\forte.exe
HW mapping
STD mapped to: FBDK.VIS_IN
BFB mapped to: FBDK.VIS_IN; FORTE.EMB_RES; FBDK.VIS_OUT
CFB mapped to: FBDK.VIS_IN; FORTE.EMB_RES; FBDK.VIS_OUT
SFB mapped to: FBDK.VIS_IN; FORTE.EMB_RES; (out via fprintf on bash console)
4DIAC Export:
Only Function Block types are exported.
When Export there is an option to merge old and new source.
Testing via Deployment:
STD: Launch FBDK (FORTE not used)
BFB: Have input but not used for output
CFB: (will be similar to BFB)
SFB: not sure how / where C++ code gets/ has values of x and y variables
What is OUT.operator ? Why not just OUT like in the calculation.
Given a 4DIAC-IDE 3.7 bug fix pre-release
Common Error: Event not connected to variable so don't see input.
Etc.
cygwin bash had problems finding the dll?? Thought might be from install of the RCX simulator, but restart of windows seems to have fixed the problem.
Wednesday, January 27, 2010
Tuesday, January 26, 2010
Jan. 26 - X2Y2 Tutorial
Finished working through the X2Y2 tutorial using standard, basic, composite, and service interface function blocks. The idea is good. The last 3 didn't differ much, but still enough to start seeing the use of the various types. Still havn't done an example with sequence.
BFB and CFB - Device mapping needed?
BFB, CFB, SFB vs STD - How do you tell 4DIAC-IDE which of the 4 applications you are testing? [Tutorial doesn't have How to test yet]
Updated 4DIAC quick install while working through the tutorials.
Lego Mindstorms - playing with a simple application that uses variables and displays results, so can set values via display rather than downloading for small changes.
General:
http://www.fb61499.com/
Material slides easier to read than book
Open Office for MS Office Users:
http://www.taming-openoffice-org.com/newsite/?page_id=25
Tracking changes:
under Tools/Options/Change
and
under edit/ changes/ record
Comments:
edit / changes / comment (if on a change)
otherwise
insert/ note
BFB and CFB - Device mapping needed?
BFB, CFB, SFB vs STD - How do you tell 4DIAC-IDE which of the 4 applications you are testing? [Tutorial doesn't have How to test yet]
Updated 4DIAC quick install while working through the tutorials.
Lego Mindstorms - playing with a simple application that uses variables and displays results, so can set values via display rather than downloading for small changes.
General:
http://www.fb61499.com/
Material slides easier to read than book
Open Office for MS Office Users:
http://www.taming-openoffice-org.com/newsite/?page_id=25
Tracking changes:
under Tools/Options/Change
and
under edit/ changes/ record
Comments:
edit / changes / comment (if on a change)
otherwise
insert/ note
Monday, January 25, 2010
. Jan. - Current Plans - Copied from Email 19. Jan.
Line follower and color sorter I will build and test in part at home and on Fri (testing) - since the school has a color sensor.
They are using Java.
I will start the assembly line at home and then see.
----
I am adding to my TODO list to try Legos with C or C++, since ECOS may not be possible.
(Change: Looks like ECOS will be running soon on LEGO NXT)
(Change: Looks like ECOS will be running soon on LEGO NXT)
Most useful idea from visiting HTL on Friday related to this is for Line follower - Why use just 1 light sensor (other than only 1 comes with kit) Why not 2 or 3 light sensors?
Seems like it would be good for 1499. May need to use some other sensor instead. Its a Matura class and they seem like a good group to try out 4DIAC on. They are doing what we did in the TU Lego Robolab class with Lejos at the moment. They will be doing a Lego robot that balances on 2 wheels as part of some matura project.
Prioritized "TODO" list
1. Line follower in 4DIAC
2. LEGO models
3. Other models in 4DIAC
4. Interfaces between 4DIAC and LEGO
Need 1 - originally EOS (Did I leave out a letter?)
Options - (ECOS; C/C++ Legos; Java to FBDK; with Greenfoot simulation; Lego simulator)
End goal: Tutorial
Related Side item: Quick installation
Can start after finishing Line follower in 4 DIAC, But want to "beat it to death" so dont lose the student/ user.
Nov Notes
Nov. 17
Problem was = statt := in Structured Text language
better if confirm (alle Falle) so weiss wenn Lost
Motor (interface)
(mindesten?) 1 Fn / Sensor (2 gleichseitig oder 2 verschiedene)
vergleichen mit Lego zu Weihnachten (Lego - Labview is dataview)
LED output
Review get started docs
Getting Started:
Dependencies
(install beforehand)
- Java http://java.sun.com/javase/
- cvgwin
- Eclipse with C++ http://www.eclipse.org/
(Note: Ubuntu Synaptic Package finds both, but you must chose your Java JDK)
- Download 4DIAC and extract http://www.fordiac.org/14.0.
- FBDK www.holobloc.com/doc/fbdk/
Nov.11
Appl so change to System View
Application and System model
-------
Nov.10
FORTE_0.3.6
src --> arch (platform specfic wie PC, n
etos (RT O/S); eCos(kommt))
core (intern)
fblib (basis Klassen,
put your own fn blks (c++ code) here (in own dir)
Testing:
Export
File - import - root dir FORTE
FORTE make (right)
1st time - make setupPC
make all
goes into bin dir
Comment: better application code not in transition condition (pros/cons)
For testing: Export FORTE
add cpp file to makefile.am in src dir
compile it either eclipse import as project or gcc
Overview IEC61499
Standard / Book by Robert Lewis older version of this std
Lab 1: Give them instructions to build the robot
Position control = 1 unit forward/backward
Optional/extra tasks
Very well described mechanical set-up - Building plan or "plant" there.
All labs: Fn Description missing - what should the final behavior be. = acceptance test
Lego CAD tools:
Lego CAD - mlcad http://www.lm-software.com/
http://ldd.lego.com/ Lego designer
------
LEGO (project) --> LegoDA--> Hysteresis
(Sept. was exported so also under typelibrary--> LegoDA-->PIcntlr)
Hysteresis:
&((y=false) AND (x > xmax)) ((y=true) AND (x < xmin))
y = !y
Current Frage
On Tue, Nov 3, 2009 at 8:34 PM, Carolyn Oates <traisenstp@gmail.com> wrote:
Treffen Protokol:
Termine - Di (13 Uhr) 11/10 11/17 12/1
Wahrscheinlich Do. 11/3 13 Uhr um Testing
Aufgabe für 11/10
Beschreibung die Aufgabestellung (für Schul Aufbau/ Fn = Spezification)
Beachten: Gleich beschreiben /strukturien
Line Follower--> Car Wash
--> Sorter(?)--> Assembly Line (group/station)
Wiederholung - Forte (Fn Blks in FORTE; applications mit devices)
PI Beispiel - Wiederholung; Erklaren ECC
Steuerdesign grob design in 4DIAC
Festlegen wie mit HW bzw. welche Sensor
Service Interface Design
Block der Motor Geschwindigkeit / position
----
1. Create or find block(s) need for application and import/ convert into C++ type in the Forte type library.
4DIAC-IDE under Tool Library --> typelibrary --> LEGO_DA
1 Library pro Project
(Tipp: Aufpassen Blocke kommen in richtige Project)
zB. PIcntlr in LEGO_DA
exportiern zu C++ (*.h *.cpp)
Compile new FORTE mit deine Files und link mit Forte
Applications can be distributed on multiple devices (via resources in/on device)
Deployment mgr (=downloads) configure TCP/IP port (default port: 61499; IP addr: local host or IP addr of device)
(see attached drawing)
-----
Explain PI ECC
ECC see p.73 Basic Fn Blks
Trigger=event or condition based not time based
Action is algo & /or event
only executed on state entry
trigger is after all actions are finished/completed.
Service Interface Fn Blks should have INIT and INITO
But Events no naming stds like Large letters after Init whatever
2. Neue Aufgabe: Hysteresis Regler
Gut Erklarung von Hysteresis:
http://euclid.ucc.ie/hysteresis/node10.htm
Thursday, January 21, 2010
Jan.21 Further X2Y2 Testing
X2Y2 application always should return x^2+y^2
Basis is X2X2 Tutorial
Goals:
Goals:
- to understand 61499 Function Blocks / 4DIAC-IDE details
- to test the tutorial contents.
Observations / Questions / Problems:
Data or data flow:
IN_ANY / OUT_ANY from hmi.FBRT Pallete:
Output is not like in tutorial? Why?
(System section may be for all 4 examples so you don't have to keep changing user interface details, which are a side issue.)
1. Output for 3 fields is 2 1/2 fields high
Easiest Solution:
re-size with mouse and forget it
Easiest correction:
in X2Y2. System Configuration
in VIS_IN (panel resource) set ROWS value to 2
GRID variable can be empty for now.
2. Also after cold start the old y value is used, but not shown.
Solution: Feedback from OUT_ANY
Ingo noticed FORTE is not mapped to anything, so if don't check FORTE it won't be downloaded and does not have to be launched for this simple first example.
I/O notes:
W: width is ignored if in System Configuration the GRID variable is used.
Tables.xls : EventStds
shows standard mapping of in to out events and in to out Data variables. (Ref: Std. Table 2)
X2Y2_BFB started.
Hints:
Accidentally via right click selected unmap (hardware) for OUT_ANY and lost the output field.
Data or data flow:
IN_ANY / OUT_ANY from hmi.FBRT Pallete:
Output is not like in tutorial? Why?
(System section may be for all 4 examples so you don't have to keep changing user interface details, which are a side issue.)
1. Output for 3 fields is 2 1/2 fields high
Easiest Solution:
re-size with mouse and forget it
Easiest correction:
in X2Y2. System Configuration
in VIS_IN (panel resource) set ROWS value to 2
GRID variable can be empty for now.
2. Also after cold start the old y value is used, but not shown.
Solution: Feedback from OUT_ANY
Ingo noticed FORTE is not mapped to anything, so if don't check FORTE it won't be downloaded and does not have to be launched for this simple first example.
I/O notes:
W: width is ignored if in System Configuration the GRID variable is used.
Tables.xls : EventStds
shows standard mapping of in to out events and in to out Data variables. (Ref: Std. Table 2)
X2Y2_BFB started.
Hints:
Accidentally via right click selected unmap (hardware) for OUT_ANY and lost the output field.
Jan.20 After Christmas
Forgot power for labtop, so copied to a dept PC. This allowed checking/documenting what changes to quick install by adding when a copy of 4DIAC is used. In turn was Fordiac Quick Install updated (preferences) and Using a Copy added to it. Also probably fixed the reason X2Y2 wouldn't deploy correctly.
Proofing X2Y2 Tutorial:
1.System:
Launch: (with port defined in project System Configuration)
Error in in_any palette
INDication event occurs from enter
REQ goes with CNF (confirm)
RSP(response) goes INDicate
problem with palette used
Miscellaneous
Links found that could generalize preferences with window system environment variables,
However 4DIAC-IDE doesn't recognize system variables.
http://kennethhunt.com/archives/000933.html
%xx% variable names like %username%
http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c10849/#more
C++ src code example link at bottom
Proofing X2Y2 Tutorial:
1.System:
- define and configure devices working together for 61499
- mapping
Launch: (with port defined in project System Configuration)
- FBDK - started when see
- cmd window for rmt_frame_arg.bat with IP:localhost:ipaddr
- RMT_FRAME
- FORTE - started when see
- cmd window for rmt_frame_arg.bat with IP:localhost:ipaddr ..............
Error in in_any palette
INDication event occurs from enter
REQ goes with CNF (confirm)
RSP(response) goes INDicate
problem with palette used
Miscellaneous
Open Office--> Manage changes (is hidden well) so google: open office turn off track changes
Links found that could generalize preferences with window system environment variables,
However 4DIAC-IDE doesn't recognize system variables.
http://kennethhunt.com/archives/000933.html
%xx% variable names like %username%
http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c10849/#more
C++ src code example link at bottom
Tuesday, January 19, 2010
Follow the process
This blog is keep notes in one place and documents/ follow the process to prepare the tutorial
using Lego Mindstorms and 4DIAC (TU ACIN) to explain IEC41699.
using Lego Mindstorms and 4DIAC (TU ACIN) to explain IEC41699.
The major ideas and end results of a tutorial using Lego Mindstorms and 4DIAC (TU ACIN) to
explain EC41699 are in a separate blog Robots61499.
explain EC41699 are in a separate blog Robots61499.
Posts will include weekly status meetings as well as links and papers that seem interesting at
the time. Some links and ideas will turn out to be rabbit trails. Others would otherwise be lost
before time to write up the project. Here both useful and random ideas notes will be kept.
the time. Some links and ideas will turn out to be rabbit trails. Others would otherwise be lost
before time to write up the project. Here both useful and random ideas notes will be kept.
Since the project is in already in progress, beginning entries will be a mixture of past notes and current notes.
Entries with * are collections of notes for a specific topic.
(May 4 update - started adding labels to posts.)
Entries with * are collections of notes for a specific topic.
(May 4 update - started adding labels to posts.)
Subscribe to:
Posts (Atom)