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 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.5"
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 'rake/rdoctask'
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.3.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, 0..999
14
- machine_type :ssm_one, 1, 1000..1999
15
- machine_type :ssm_two, 2, 2000..2999
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: "Schleifwinkelbereich mit Z�hnen"
96
- comment: "Auswahl des Schleifwinkelbereiches, der Z�hne enth�lt. Schleifscheibe wird abgehoben."
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, 0..999
14
- machine_type :underleaver_one, 1, 1000..1999
15
- machine_type :underleaver_two, 2, 2000..2999
16
- machine_type :underleaver_three, 3, 3000..3999
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)}' will be skipped.")
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
- p = param_by_number(param.dependency)
150
- param.depends_on(p ? p.key : :none)
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.translation_files(name).select(){|file| file.include?(@lang_abbr.to_s)}.first
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')
@@ -19,6 +19,10 @@ module SetupConfiguration
19
19
  @machine_type != 0
20
20
  end
21
21
 
22
+ def param?
23
+ true
24
+ end
25
+
22
26
  end
23
27
 
24
28
  end
@@ -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..2499, 2500..2999, 3000..3999, 4000..4999, 5000..5999, 6000..6999].freeze
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| "#{config_name}.#{FILE_EXTENSION}.#{lang}.yml" }
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.3.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-04-13 00:00:00 Z
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.5"
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.7.2
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
- - test/setup_configuration/machine_type_test.rb
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