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 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