More files

This commit is contained in:
Milan Hanajik 2014-07-28 10:04:21 +02:00
parent 175a92f633
commit efc6d22dad
9 changed files with 1675 additions and 0 deletions

73
Doc/TODO.txt Normal file
View File

@ -0,0 +1,73 @@
Otazky:
-------
- ako pouzit T6
- co je 'T to Open' pri RV
- na co sluzia VI2P, VI3P a VI4P
TODO:
-----
- nefunguje pumpa P3
- nahlad na cestu v procedure
- purgeStart a purgeEnd --> transitionSteps/Sequences
- horeuvedene pre RegulValve
- volba procedury nie je zablokovana pocas testov
- vsetky Target... v Process tabe
- Hmotnosti:
1 netarovat, merat okamzitu,
2 nulovacia procedura na tlacitko manualne,
3 pri starte sa spytat ci vynulovat vahy
- Preco sa nenacitaju zmeny v Test-e ???
- pouzit oneskorenie na ventily
- skontrolovat doc (freq v Hz)
Demo version:
- pouzit progress bary na vyber testu
- vycistit Measurement
- simulacia skonci pri druhom 'start_measurement'
- pri simulacii sa meni mass pri merani end-mass (klapka by mala byt vypnuta!)
- otvorit Proceduru (v dalsom okne v zamknutom stave) aj ked je okno Procedures zamknute
- pridat seriove cisla do parametrov komponentov
- zapamatavat si sirky stlpcov v PathsDlg, ... (aj inde)
- skontroluj vsetky ListViewEx-y + skorsie spracovanie vysledkov (dolezite aj pre spravnu tvorbu noveho mena)
- preco posledne okno skace
- chyba spracovanie procedure / metrology2 Tol.Abzug, Fehl.Korr -+
- vsetky mena stlpcov a tabov do Strings.xxx
Testovanie na stanici:
- pouzivat skutocne 'rvalves'
- ked vyberiem priamo Q1, Q2, Q3 (poskonceni predchadzajuceho testu), neprepise sa obsah combo boxu
- prislusne EtPulses by mali ist cez RegisterReader komponent + common RegisterReader pre Master
- ako je to s WM0 ...
- na zaciatku zmerat vahu a dovolit vypustit tanky
- updatovat vahu - obrazok = je nespravna kapacita vahy
- spracovanie vysledkov podla excelu: corr. na hustotu vzduchu (zavazie), corr. na hustotu vody v zav. od teploty
- podpora pre zbieranie vysledkov
- logovanie vysledkov do excelu
- zastavit vodu na konci skusky
- Pri nastavovani prietoku nie je nic vidno
- pouzivat skutocne 'rvalves'
- pri vytvarani testov vyberat cesty podla prietoku
- ked sa zada cesta napisanim mena = skontrolovat
- zapamatat si stav ventilu pri prietoku
- nulovanie = nulovanie vahy
- zmenit text: tarovanie -> vypustanie
- pripravit IDC100: !ReadRegisterOp, Idc100.GetValue-SetValue (na konci), GetState a ukoncenie operacie
- sub-sekvencie pre Q-set a metody
- zobrazit typizovanu schemu
Neskor:
- nevidno ci su neulozene zmeny
- upozornenie pri cancel ak su neulozene zmeny
- spravne updatovat tlacitka ked su FixedItems (FixedRows)
- ked odomknem Komponenty tak sa zrusi vyber
- vaha ToString - prve zobrazit capacity
- moznost menenia poradia aj v components
- rozdelit ventily podla ciest?

BIN
Doc/Translation MTS 1_3.doc Normal file

Binary file not shown.

BIN
Doc/Virtualbench.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

91
Doc/design.txt Normal file
View File

@ -0,0 +1,91 @@
Assumption
----------
The installation consists of one or more similar test benches. Each test bench is controlled by one PC-based computer. In addition, one or more PC-s can run the same application and manipulated data shared by the test benches (e.g. PC located in offices). All PC-s run the same version of software (this is a must now - Munich - in the future we can try to deal with backward/forward compatibility issues).
Development environment
-----------------------
- Visual Studio 2012 Professional
- Database: MySQL (???)
User iterface
-------------
- WindowsFormsApplication
- Main part of the window occupies a tab control with hidden tabs
(see http://weblogs.asp.net/kdente/archive/2005/11/14/430591.aspx)
Tabs swithing is done programatically
Tabs:
Procedure
- Procedure Info (summary, header)
- Procedure History (changes)
- Procedure Metrology
- Procedure Technical
- Procedure Purge
- Procedure End
- Procedure Adjustment
- Procedure View
- Procedure Inputs
Home
Insert
Results
- Results
- Results D
- Meters Ch
- Temp Ch
- Pressure
Bench parameters
- Technical
- Balance
- Temperature
- Pressure
- Flowmeter
- Density
Logs
Sensus Testbench Framework application settings consist of
----------------------------------------------------------
S1. Local settings stored on each PC
S1.1 language settings, appearance, etc. (no other impact on the system function)
S1.2 specification of databases used to store other settings (see 2.)
There might be several sets of DB settings (1.2) when one should be able to access more test benches. When starting the system, this is indicated on the login screen as 'Test bench'/'Pruefstation'.
S2. Settings stored in databases:
S2.1 'users' (typically shared between all benches - centralized access control)
S2.2 'watermeter_types' info (typically shared between more benches)
S2.3 'test_procedures' (typically shared between more identical benches)
S2.4 'metrological_parameters' of the system (always unique for each system, not shared)
S2.5 'watermeters' info (typically centralized / shared)
S2.6 'test_results' (typically centralized / shared)
etc.
The databases might be running either on the local PC or remote,
each database might be used by a single bench, or shared by more test benches. This configured in 1.2.
Application can be used to:
---------------------------
A1. Change local settings (S1.1, S1.2)
A2. Change settings stored in the databases
A3. Control system and run test procedures - this is only possible on PC-s controlling the benches. When procedure is started, local copy of necessary information from the DB-s is made to avoid problems.
User access control:
--------------------
U1. Access to
U1.1 information read
U1.2 information write/modify
U1.3 action start
is controlled by an access control mechanism.
U2. Users
U3. Groups
Each user is a member of one or more groups. In case needed, a group with a single user is created. Access to information/actions is granted to groups.
Muenich: Grooups are 'Tester',
'Testing specialist',
'Head of lab'
'Maintenance specialist'
'Metrologist'
'Calibration specialist'
U4. When necessary, system prompts user to authenticate himself/herself (login dialog). Authentication is invalidated as follows (optional):
U4.1 When user closes the dialog, which was protected.
U4.2 After certain time period
U4.3 Never

25
Doc/mylog4net.xml Normal file
View File

@ -0,0 +1,25 @@
<log4net>
<!-- A1 is set to be a ConsoleAppender -->
<appender name="A1" type="log4net.Appender.ConsoleAppender">
<!-- A1 uses PatternLayout -->
<layout type="log4net.Layout.PatternLayout">
<!-- Print the date in ISO 8601 format -->
<conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
</layout>
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="A1" />
</root>
<!-- Print only messages of level WARN or above in the package NHibernate -->
<logger name="NHibernate">
<level value="WARN" />
</logger>
<logger name="TestBenchFramework.BenchControl.StateMachine">
<level value="WARN" />
</logger>
</log4net>

View File

@ -0,0 +1,27 @@
foreach (var device in devices) device.RunDeviceBefore(); . . . . . . in StateMachine.Worker()
State.Create(...).AddOperation(...).AddOperation(...).EnterState() . . in the sequence in Execute(...)
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . . in WaitRunDevsRunOps()
WaitNextTick() (may throw QuitStateMachineException) . . . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore(); . . . . . . in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . . in WaitRunDevsRunOps()
WaitNextTick() (may throw QuitStateMachineException) . . . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore(); . . . . . . in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . . in WaitRunDevsRunOps()
State.Create(...).AddOperation(...).AddOperation(...).EnterState() . . in the sequence in Execute(...)
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . . in WaitRunDevsRunOps()
WaitNextTick() (may throw QuitStateMachineException) . . . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore(); . . . . . . in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . . in WaitRunDevsRunOps()
WaitNextTick() (assume QuitStateMachineException thrown) . . . . . . in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore(); . . . . . . in StateMachine.Worker() catch()
State.RunOperations(); . . . . . . . . . . . . . . . . . . . . . . . . in StateMachine.Worker() catch()
State.Empty.EnterState(); . . . . . . . . . . . . . . . . . . . . . . in StateMachine.Worker() catch()
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . . in StateMachine.Worker() catch()
foreach (var device in devices) device.StopDevice(); . . . . . . . . . in StateMachine.Worker() catch()

11
Doc/show-hide-tabs.txt Normal file
View File

@ -0,0 +1,11 @@
Showing tabs in the designer:
- select mainTabControl
- in Properies change SizeMode to normal
- in Properies change ItemSize to 0; 20
Hiding tabs in the designer:
- select mainTabControl
- in Properies change SizeMode to Fixed
- in Poperties change ItemSize to 0; 1

View File

@ -0,0 +1,4 @@
af242843887f3bdcc52e485483356eaccd37ba67a35941530bd195a8310fc7d5aca8560576dfb62ad5a4bd2df789a5e8be068e62e7c976d6eeed8d63abbd9909
= staratura

1444
TBFSetup/TBFSetup.vdproj Normal file

File diff suppressed because it is too large Load Diff