machine_setup 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|