machine_setup 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/examples/ssm/ssm.setup.param +4 -3
- data/examples/ssm/ssm.setup.param.de.yml +18 -2
- data/examples/ssm/ssm.setup.param.en.yml +15 -0
- data/examples/underleaver/underleaver.setup.param +7 -4
- data/examples/underleaver/underleaver.setup.param.de.yml +11 -0
- data/examples/underleaver/underleaver.setup.param.en.yml +11 -0
- data/lib/setup_configuration/legacy/importer.rb +10 -4
- data/lib/setup_configuration/legacy/language_context.rb +1 -1
- data/lib/setup_configuration/legacy/legacy.rb +0 -1
- data/lib/setup_configuration/legacy/parameter.rb +4 -0
- data/lib/setup_configuration/legacy/templates/setup.param.erb +4 -0
- data/lib/setup_configuration/legacy/templates/setup.param.language.yml.erb +2 -0
- data/lib/setup_configuration/setup_config.rb +4 -4
- data/lib/setup_configuration/translation.rb +5 -1
- data/test/setup_configuration/machine_type_test.rb +9 -0
- metadata +6 -11
- data/lib/setup_configuration/legacy/category.rb +0 -22
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ begin
|
|
11
11
|
gem.email = "robi-wan@suyu.de"
|
12
12
|
gem.homepage = "http://github.com/robi-wan/machine_setup"
|
13
13
|
gem.authors = ["robi-wan"]
|
14
|
-
gem.add_runtime_dependency "i18n", "~> 0.
|
14
|
+
gem.add_runtime_dependency "i18n", "~> 0.6"
|
15
15
|
gem.add_runtime_dependency "inifile", "~> 0.4"
|
16
16
|
gem.add_runtime_dependency "erubis", "~> 2.7"
|
17
17
|
gem.add_development_dependency "shoulda"
|
@@ -46,7 +46,7 @@ task :test => :check_dependencies
|
|
46
46
|
|
47
47
|
task :default => :test
|
48
48
|
|
49
|
-
require '
|
49
|
+
require 'rdoc/task'
|
50
50
|
Rake::RDocTask.new do |rdoc|
|
51
51
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
52
52
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -10,9 +10,9 @@ SetupConfiguration :ssm, :ssm do
|
|
10
10
|
max 0..0
|
11
11
|
balance_min 700..729
|
12
12
|
balance_max 730..759
|
13
|
-
machine_type :all_machines, 0
|
14
|
-
machine_type :ssm_one, 1
|
15
|
-
machine_type :ssm_two, 2
|
13
|
+
machine_type :all_machines, 0
|
14
|
+
machine_type :ssm_one, 1
|
15
|
+
machine_type :ssm_two, 2
|
16
16
|
end
|
17
17
|
|
18
18
|
category :common do
|
@@ -24,6 +24,7 @@ SetupConfiguration :ssm, :ssm do
|
|
24
24
|
param :grinding_point_height, 6
|
25
25
|
param :reference_angle_grinding_drive, 7
|
26
26
|
param :grinding_angle_drive_home_mode, 8
|
27
|
+
param :grinding_angle_difference, 10
|
27
28
|
param :tooth_area, 9
|
28
29
|
end
|
29
30
|
|
@@ -91,9 +91,25 @@ de:
|
|
91
91
|
|
92
92
|
Achtung: Bei Wechsel des Referenzmodus auch den Parameter 'Referenzwinkel Schleifwinkelmotor' anpassen.
|
93
93
|
|
94
|
+
grinding_angle_difference:
|
95
|
+
name: "Abweichung Schleifwinkel"
|
96
|
+
comment: |
|
97
|
+
Technologisch bedingt kann es Abweichung zwischen eingestelltem und tats�chlichem Schleifwinkel geben.
|
98
|
+
�ber diesen Parameter kann diese Abweichung ausgeglichen werden.
|
99
|
+
Die Angabe erfolgt in Grad. Die Angabe erfolgt mit einer Nachkommastelle. Der eingetragene Wert gibt die
|
100
|
+
gemessene Abweichung an. Es sind Angaben zwischen -5,0 und +5,0 m�glich.
|
101
|
+
|
102
|
+
|
103
|
+
Beispiel: Eingestellt im Programm ist ein Schleifwinkel von 22 Grad.
|
104
|
+
Gemessen wurde ein tats�chlicher Schleifwinkel von 22,8 Grad. Die einzutragende Abweichung betr�gt
|
105
|
+
in diesem Fall 0,8 Grad, also ein 8.
|
106
|
+
|
107
|
+
|
108
|
+
Beispiel 2: Eine Abweichung von -2,3 Grad wird eingetragen als -23.
|
109
|
+
|
94
110
|
tooth_area:
|
95
|
-
name:
|
96
|
-
comment:
|
111
|
+
name: "Schleifwinkelbereich mit Z�hnen"
|
112
|
+
comment: "Auswahl des Schleifwinkelbereiches, der Z�hne enth�lt. Schleifscheibe wird abgehoben."
|
97
113
|
|
98
114
|
blade_drive_selection:
|
99
115
|
name: "Messerantrieb abgew�hlt=0/Servo=1/FU=2"
|
@@ -80,6 +80,21 @@ en:
|
|
80
80
|
|
81
81
|
Attention: When changing reference mode do not forget to adjust parameter 'Reference Angle Grinding Angle Drive'.
|
82
82
|
|
83
|
+
grinding_angle_difference:
|
84
|
+
name: "Difference Grinding Angle"
|
85
|
+
comment: |
|
86
|
+
Configure the difference between given grinding angle and actual grinding angle measured at blade.
|
87
|
+
Value is given in tenth of degree. Given value stands for measured difference.
|
88
|
+
The range of valid values starts at -5.0 and ends at +5.0.
|
89
|
+
|
90
|
+
|
91
|
+
Example: Programme parameter for grinding angle is 22 degree.
|
92
|
+
Measured grinding angle is 22.8 degree. The difference of the grinding angle is therefore 0.8 degree.
|
93
|
+
The value of this setup parameter has to be 8.
|
94
|
+
|
95
|
+
|
96
|
+
Example 2: A difference of -2,3 degree has to be entered as -23.
|
97
|
+
|
83
98
|
tooth_area:
|
84
99
|
name: "Grinding Angle Area with Teeth"
|
85
100
|
comment: "Grinding disc will lift off from blade at configured grinding area."
|
@@ -10,10 +10,10 @@ SetupConfiguration :underleaver, :ul do
|
|
10
10
|
max 0..0
|
11
11
|
balance_min 3000..3029
|
12
12
|
balance_max 3030..3059
|
13
|
-
machine_type :all_machines, 0
|
14
|
-
machine_type :underleaver_one, 1
|
15
|
-
machine_type :underleaver_two, 2
|
16
|
-
machine_type :underleaver_three, 3
|
13
|
+
machine_type :all_machines, 0
|
14
|
+
machine_type :underleaver_one, 1
|
15
|
+
machine_type :underleaver_two, 2
|
16
|
+
machine_type :underleaver_three, 3
|
17
17
|
end
|
18
18
|
|
19
19
|
category :common do
|
@@ -61,6 +61,9 @@ SetupConfiguration :underleaver, :ul do
|
|
61
61
|
param :paper_feed_velocity_ratio, 35 do
|
62
62
|
depends_on :paper_feed_continuous_motion
|
63
63
|
end
|
64
|
+
|
65
|
+
param :portion_edge_detection, 36
|
66
|
+
|
64
67
|
end
|
65
68
|
|
66
69
|
category :role_configuration do
|
@@ -258,6 +258,17 @@ de:
|
|
258
258
|
|
259
259
|
Beispiel: Ein Wert von 30 bedeutet, dass sich der Blattantrieb 30 Prozent schneller dreht als das Band.
|
260
260
|
|
261
|
+
portion_edge_detection:
|
262
|
+
name: "Portion: ausgewertete Kante"
|
263
|
+
comment: |
|
264
|
+
Welche Kante der Portion soll zur Blattpositionierung verwendet werden?
|
265
|
+
N�tzlich bei mehreren Spuren.
|
266
|
+
|
267
|
+
|
268
|
+
0: Vorderkante
|
269
|
+
1: Mitte der Portion (gemessene Portionsl�nge und eingestellte Blattl�nge werden f�r Auswertung ebenfalls verwendet)
|
270
|
+
2: Hinterkante (gemessene Portionsl�nge und eingestellte Blattl�nge werden f�r Auswertung ebenfalls verwendet)
|
271
|
+
|
261
272
|
role_diameter_teached_maximum:
|
262
273
|
name: "Gr��ter geteachter Rollendurchmesser [mm]"
|
263
274
|
comment: |
|
@@ -257,6 +257,17 @@ en:
|
|
257
257
|
Value determines how much faster paper feed runs.
|
258
258
|
Values between 0 and 30 are valid.
|
259
259
|
|
260
|
+
portion_edge_detection:
|
261
|
+
name: "Portion: detected edge"
|
262
|
+
comment: |
|
263
|
+
This parameter configures the edge which is used to determine the sheet position.
|
264
|
+
Useful only with multiple tracks.
|
265
|
+
|
266
|
+
|
267
|
+
0: Leading edge
|
268
|
+
1: Center of portion (measured portion length and sheet length are also used in computation)
|
269
|
+
2: Trailing edge (measured portion length and sheet length are also used in computation)
|
270
|
+
|
260
271
|
role_diameter_teached_maximum:
|
261
272
|
name: "Maximum teached Role Diameter [mm]"
|
262
273
|
comment: |
|
@@ -84,16 +84,18 @@ module SetupConfiguration
|
|
84
84
|
@settings.machine_type("machine_type_#{number}".to_sym, number, v.to_i)
|
85
85
|
end
|
86
86
|
|
87
|
+
#calculate ranges for machine types
|
87
88
|
@settings.machine_types.each_with_index do |mt, index|
|
88
89
|
ending=mt.range + 999
|
89
90
|
if @settings.machine_types[index + 1]
|
90
91
|
ending = @settings.machine_types[index + 1].range - 1
|
91
92
|
end
|
92
|
-
#mt.range=Range.new(mt.range, ending)
|
93
93
|
# this is really ugly
|
94
94
|
mt.instance_variable_set( :@range, Range.new(mt.range, ending))
|
95
95
|
end
|
96
96
|
|
97
|
+
|
98
|
+
|
97
99
|
# languages
|
98
100
|
lang = @mps3['SPRACHE']
|
99
101
|
lang.each() do |k,v|
|
@@ -130,7 +132,9 @@ module SetupConfiguration
|
|
130
132
|
#check for multiple defined parameters (in different categories)
|
131
133
|
#warn and skip
|
132
134
|
if param_by_number(param_number) then
|
133
|
-
$stderr.puts("WARNING: parameter '#{ param_key(param_number)}' with number '#{param_number}' multiple defined. Duplicate found in category '#{category_name(cat_number)}'
|
135
|
+
$stderr.puts("WARNING: parameter '#{ param_key(param_number)}' with number '#{param_number}' multiple defined. Duplicate found in category '#{category_name(cat_number)}'.")
|
136
|
+
parameter = ParameterReference.new( param_key(param_number) )
|
137
|
+
cat.parameter << parameter
|
134
138
|
else
|
135
139
|
parameter = Parameter.new(param_number)
|
136
140
|
parameter.depends_on(deps[index])
|
@@ -146,8 +150,10 @@ module SetupConfiguration
|
|
146
150
|
|
147
151
|
# replace parameter numbers with parameter keys
|
148
152
|
parameters.each() do |param|
|
149
|
-
|
150
|
-
|
153
|
+
if param.param? then
|
154
|
+
p = param_by_number(param.dependency)
|
155
|
+
param.depends_on(p ? p.key : :none)
|
156
|
+
end
|
151
157
|
end
|
152
158
|
|
153
159
|
#get categorie names
|
@@ -11,7 +11,7 @@ module SetupConfiguration
|
|
11
11
|
@lang=lang
|
12
12
|
@helper=helper
|
13
13
|
@lang_abbr= SetupConfiguration::Translation.language_abbreviation(lang)
|
14
|
-
@output = SetupConfiguration::Translation.
|
14
|
+
@output = SetupConfiguration::Translation.translation_file(name, @lang_abbr)
|
15
15
|
end
|
16
16
|
|
17
17
|
def category_name(cat)
|
@@ -2,6 +2,5 @@
|
|
2
2
|
require 'inifile'
|
3
3
|
|
4
4
|
require File.expand_path(File.dirname(__FILE__) + '/parameter')
|
5
|
-
require File.expand_path(File.dirname(__FILE__) + '/category')
|
6
5
|
require File.expand_path(File.dirname(__FILE__) + '/language_context')
|
7
6
|
require File.expand_path(File.dirname(__FILE__) + '/importer')
|
@@ -13,6 +13,7 @@ SetupConfiguration :<%= @name.to_sym %>, :<%= @abbreviation.to_sym %> do
|
|
13
13
|
<% for cat in @categories.sort %>
|
14
14
|
category :<%= cat.name %> do
|
15
15
|
<% for param in cat.parameter %>
|
16
|
+
<% if param.param? %>
|
16
17
|
param :<%= param.key %>, <%= param.number %><% if param.extended? %> do
|
17
18
|
<% if param.dep? %>
|
18
19
|
depends_on :<%= param.dependency %>
|
@@ -23,6 +24,9 @@ SetupConfiguration :<%= @name.to_sym %>, :<%= @abbreviation.to_sym %> do
|
|
23
24
|
end
|
24
25
|
<% else %>
|
25
26
|
|
27
|
+
<% end %>
|
28
|
+
<% else %>
|
29
|
+
param_ref :<%= param.key %>
|
26
30
|
<% end %>
|
27
31
|
<% end %>
|
28
32
|
end
|
@@ -5,9 +5,11 @@
|
|
5
5
|
name: "<%= category_name(cat.number) %>"
|
6
6
|
|
7
7
|
<% for param in cat.parameter %>
|
8
|
+
<% if param.param? %>
|
8
9
|
<%= param.key %>:
|
9
10
|
name: "<%= parameter_name(param.number) %>"
|
10
11
|
comment: "<%= parameter_description(param.number) %>"
|
11
12
|
|
12
13
|
<% end %>
|
13
14
|
<% end %>
|
15
|
+
<% end %>
|
@@ -181,7 +181,7 @@ module SetupConfiguration
|
|
181
181
|
end
|
182
182
|
|
183
183
|
#TODO remove range argument
|
184
|
-
def machine_type(name, number, range)
|
184
|
+
def machine_type(name, number, range=nil)
|
185
185
|
machine_type = MachineType.new(name, number, range)
|
186
186
|
@machine_types << machine_type
|
187
187
|
# generates a method with given machine type name in a module
|
@@ -346,18 +346,18 @@ module SetupConfiguration
|
|
346
346
|
class MachineType
|
347
347
|
include Enumerable
|
348
348
|
|
349
|
-
RANGES = [0..999, 1000..1999, 2000..
|
349
|
+
RANGES = [0..999, 1000..1999, 2000..2999, 3000..3999, 4000..4999, 5000..5999, 6000..6999, 7000..7999].freeze
|
350
350
|
|
351
351
|
attr_reader :name
|
352
352
|
attr_reader :range
|
353
353
|
attr_reader :sequence_number
|
354
354
|
attr_reader :binary_number
|
355
355
|
|
356
|
-
def initialize(name, sequence_number, range)
|
356
|
+
def initialize(name, sequence_number, range = nil)
|
357
357
|
@name=name
|
358
358
|
raise RuntimeError.new("ERROR: More than #{RANGES.length} different machine types are not supported: [name=#{name}] [number=#{sequence_number}]") if sequence_number >= RANGES.length
|
359
359
|
@sequence_number=sequence_number
|
360
|
-
@range=RANGES[@sequence_number]
|
360
|
+
@range = range ? range : RANGES[@sequence_number]
|
361
361
|
if @sequence_number <= 0
|
362
362
|
@binary_number=0
|
363
363
|
else
|
@@ -6,8 +6,12 @@ module SetupConfiguration
|
|
6
6
|
|
7
7
|
FILE_EXTENSION="setup.param".freeze
|
8
8
|
|
9
|
+
def self.translation_file(config_name, lang)
|
10
|
+
"#{config_name}.#{FILE_EXTENSION}.#{lang}.yml"
|
11
|
+
end
|
12
|
+
|
9
13
|
def self.translation_files(config_name)
|
10
|
-
languages.collect { |lang|
|
14
|
+
languages.collect { |lang| translation_file(config_name, lang) }
|
11
15
|
end
|
12
16
|
|
13
17
|
# Returns all supported setup languages.
|
@@ -8,6 +8,8 @@ class MachineTypeTest < Test::Unit::TestCase
|
|
8
8
|
@all_machines = SetupConfiguration::MachineType.new(:all_machines, 0, 0..999)
|
9
9
|
@machine_one = SetupConfiguration::MachineType.new(:machine_one, 1, 1000..1999)
|
10
10
|
@machine_three = SetupConfiguration::MachineType.new(:machine_one, 3, 3000..3999)
|
11
|
+
@machine_four = SetupConfiguration::MachineType.new(:machine_one, 4)
|
12
|
+
@machine_five = SetupConfiguration::MachineType.new(:machine_one, 5)
|
11
13
|
end
|
12
14
|
|
13
15
|
should "return its name" do
|
@@ -16,18 +18,25 @@ class MachineTypeTest < Test::Unit::TestCase
|
|
16
18
|
|
17
19
|
should "return its machine type number range" do
|
18
20
|
assert_equal 0..999, @all_machines.range
|
21
|
+
#default machine type ranges
|
22
|
+
assert_equal 4000..4999, @machine_four.range
|
23
|
+
assert_equal 5000..5999, @machine_five.range
|
19
24
|
end
|
20
25
|
|
21
26
|
should "return its sequence number" do
|
22
27
|
assert_equal 0, @all_machines.sequence_number
|
23
28
|
assert_equal 1, @machine_one.sequence_number
|
24
29
|
assert_equal 3, @machine_three.sequence_number
|
30
|
+
assert_equal 4, @machine_four.sequence_number
|
31
|
+
assert_equal 5, @machine_five.sequence_number
|
25
32
|
end
|
26
33
|
|
27
34
|
should "return its binary number" do
|
28
35
|
assert_equal 0, @all_machines.binary_number
|
29
36
|
assert_equal 1, @machine_one.binary_number
|
30
37
|
assert_equal 4, @machine_three.binary_number
|
38
|
+
assert_equal 8, @machine_four.binary_number
|
39
|
+
assert_equal 16, @machine_five.binary_number
|
31
40
|
end
|
32
41
|
|
33
42
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: machine_setup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.4.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- robi-wan
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-09-14 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: i18n
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: "0.
|
23
|
+
version: "0.6"
|
24
24
|
type: :runtime
|
25
25
|
version_requirements: *id001
|
26
26
|
- !ruby/object:Gem::Dependency
|
@@ -88,7 +88,6 @@ files:
|
|
88
88
|
- lib/setup_configuration/core_ext/array.rb
|
89
89
|
- lib/setup_configuration/core_ext/array/grouping.rb
|
90
90
|
- lib/setup_configuration/generator_module.rb
|
91
|
-
- lib/setup_configuration/legacy/category.rb
|
92
91
|
- lib/setup_configuration/legacy/importer.rb
|
93
92
|
- lib/setup_configuration/legacy/language_context.rb
|
94
93
|
- lib/setup_configuration/legacy/legacy.rb
|
@@ -136,13 +135,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
135
|
requirements: []
|
137
136
|
|
138
137
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.
|
138
|
+
rubygems_version: 1.8.10
|
140
139
|
signing_key:
|
141
140
|
specification_version: 3
|
142
141
|
summary: Generating configuration for machine setup parameters.
|
143
|
-
test_files:
|
144
|
-
|
145
|
-
- test/setup_configuration/parameter_factory_test.rb
|
146
|
-
- test/setup_configuration/parameter_test.rb
|
147
|
-
- test/setup_configuration/setup_configuration_test.rb
|
148
|
-
- test/test_helper.rb
|
142
|
+
test_files: []
|
143
|
+
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module SetupConfiguration
|
2
|
-
|
3
|
-
module Legacy
|
4
|
-
|
5
|
-
class Category
|
6
|
-
include Enumerable
|
7
|
-
|
8
|
-
attr_accessor :number
|
9
|
-
attr_accessor :name
|
10
|
-
attr_accessor :parameter
|
11
|
-
|
12
|
-
def initialize()
|
13
|
-
@parameter = []
|
14
|
-
end
|
15
|
-
|
16
|
-
def <=>(parameter)
|
17
|
-
self.number <=> parameter.number
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|