tallakt-plcutil 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.2.2 2011-11-11
2
+
3
+ * clean up for Ruby 1.9 support
4
+ * remove jeweller, along with a lot of chaff
5
+
6
+
1
7
  == 0.2.0 2010-10-12
2
8
 
3
9
  * 1 enhancement
data/LICENSE CHANGED
@@ -1,5 +1,7 @@
1
1
  Copyright (c) 2009 Tallak Tveide
2
2
 
3
+ (MIT LICENSE)
4
+
3
5
  Permission is hereby granted, free of charge, to any person
4
6
  obtaining a copy of this software and associated documentation
5
7
  files (the "Software"), to deal in the Software without
data/README.rdoc CHANGED
@@ -6,7 +6,7 @@ http://github.com/tallakt/plcutil
6
6
 
7
7
  A set of command line utilities and helper classes to convert between IO list files of different PLC types into different HMI types.
8
8
 
9
- Currently Siemens and Wonderware are supported, Schneider and Wonderware IAS support planned in the near future.
9
+ Currently Siemens, Schneider and Wonderware are supported, Schneider and Wonderware IAS support planned in the near future.
10
10
 
11
11
  This is still a quite rough version - pre alpha!!
12
12
 
@@ -30,38 +30,7 @@ Convert a PL7 text export file to intouch CSV import file
30
30
  The commands support the --help parameter for a full list of parameters
31
31
 
32
32
 
33
- == REQUIREMENTS:
34
-
35
- * FIX (list of requirements)
36
-
37
33
  == INSTALL:
38
34
 
39
- sudo gem gemcutter
40
- sudo gem install tallakt-plcutil
41
-
42
-
43
- == LICENSE:
44
-
45
- (The MIT License)
46
-
47
- Copyright (c) 2009 Tallak Tveide
48
-
49
- Permission is hereby granted, free of charge, to any person obtaining
50
- a copy of this software and associated documentation files (the
51
- 'Software'), to deal in the Software without restriction, including
52
- without limitation the rights to use, copy, modify, merge, publish,
53
- distribute, sublicense, and/or sell copies of the Software, and to
54
- permit persons to whom the Software is furnished to do so, subject to
55
- the following conditions:
56
-
57
- The above copyright notice and this permission notice shall be
58
- included in all copies or substantial portions of the Software.
59
-
60
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
61
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
62
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
63
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
64
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
65
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
66
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ gem install tallakt-plcutil
67
36
 
data/Rakefile CHANGED
@@ -1,21 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "tallakt-plcutil"
8
- gem.summary = %Q{Ruby PLC file library}
9
- gem.description = %Q{Ruby library for using Siemens and Intouch files}
10
- gem.email = "tallak@tveide.net"
11
- gem.homepage = "http://github.com/tallakt/plcutil"
12
- gem.authors = ["Tallak Tveide"]
13
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
- end
15
- rescue LoadError
16
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
- end
18
-
19
4
  require 'rake/testtask'
20
5
  Rake::TestTask.new(:test) do |test|
21
6
  test.libs << 'lib' << 'test'
@@ -39,12 +39,14 @@ module PlcUtil
39
39
  end
40
40
 
41
41
  def print_to_file(f)
42
- @awl.each_tag do |name, data_block_name, addr, comment, struct_comment, type|
42
+ @awl.each_tag do |tag| #|name, data_block_name, addr, comment, struct_comment, type|
43
+ require 'rubygems'
44
+ require 'pp'
43
45
  f.puts @format % [
44
- addr,
45
- fix_name(name),
46
- type.to_s,
47
- [comment, struct_comment].compact! ? '' : (@commentformat % [comment, struct_comment])
46
+ tag[:addr],
47
+ fix_name(tag[:name]),
48
+ tag[:type].to_s,
49
+ [tag[:comment], tag[:struct_comment]].compact! ? '' : (@commentformat % [tag[:comment], tag[:struct_comment]])
48
50
  ]
49
51
  end
50
52
  end
@@ -1,9 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
- require 'rubygems'
4
3
 
5
4
  module PlcUtil
6
-
7
5
  # Reads a Siemens Step 7 AWL file and creates single tags with addresses and comment
8
6
  class AwlFile
9
7
  attr_reader :symlist
@@ -15,11 +13,13 @@ module PlcUtil
15
13
  @symlist = {}
16
14
 
17
15
  if options[:symlist]
16
+ require 'rubygems'
18
17
  require 'dbf' or raise 'Please install gem dbf to read symlist file'
19
18
 
20
19
  raise 'Specified symlist file not found' unless File.exists? options[:symlist]
21
20
  table = DBF::Table.new(options[:symlist])
22
- table.records.each do |rec|
21
+ table.each do |rec|
22
+ next unless rec
23
23
  @symlist[rec.attributes['_skz']] = rec.attributes['_opiec'] # or _ophist or _datatyp
24
24
  end
25
25
  end
@@ -87,10 +87,10 @@ module PlcUtil
87
87
 
88
88
  def parse(file)
89
89
  stack = []
90
- in_array_decl = false
90
+ in_array_decl = false # array decalrations are sometimed split on two separate lines
91
91
  in_datablock_decl = false
92
92
  tagname = start = stop = type = comment = nil
93
- db_to_fb = {}
93
+ db_to_fb = {} # a list connecting a DB to the FB where it was used
94
94
  file.each_line do |l|
95
95
  l.chomp!
96
96
  if in_array_decl
@@ -100,27 +100,26 @@ module PlcUtil
100
100
  end
101
101
  in_array_decl = false
102
102
  else
103
- in_array_decl = false
104
103
  case l
105
104
  # TODO should also cater for 'DB 90' type addresses
106
105
  when /^TYPE "(.+?)"/
107
- stack = [StructType.new $1, :datatype]
108
- add_type stack.last
106
+ stack = [StructType.new($1, :datatype)]
107
+ add_type stack.first
109
108
  when /^FUNCTION_BLOCK "(.+?)"/
110
- stack = [StructType.new $1, :functionblock]
111
- add_type stack.last
109
+ stack = [StructType.new($1, :functionblock)]
110
+ add_type stack.first
112
111
  when /^DATA_BLOCK ("(.+?)"|DB\s+(\d+))/
113
112
  in_datablock_decl = true
114
113
  name = $2 || ('DB' + $3)
115
- stack = [StructType.new name, :datablock]
114
+ stack = [StructType.new(name, :datablock)]
116
115
  @datablocks << Variable.new(name, stack.last)
117
116
  when /^VAR_TEMP/
118
- s = StructType.new 'VAR_TEMP', :anonymous
117
+ s = StructType.new('VAR_TEMP', :anonymous)
119
118
  stack = [s]
120
119
  when /^\s*(\S+) : STRUCT /
121
120
  in_datablock_decl = false
122
- s = StructType.new 'STRUCT', :anonymous
123
- stack.last.add Variable.new $1, s
121
+ s = StructType.new('STRUCT', :anonymous)
122
+ stack.last.add Variable.new($1, s)
124
123
  stack << stack.last.children.last.type
125
124
  when /^BEGIN$/
126
125
  in_datablock_decl = false
@@ -0,0 +1,4 @@
1
+ module PlcUtil
2
+ VERSION = '0.2.2'
3
+ end
4
+
@@ -1 +1,8 @@
1
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
1
+
2
+ $:.unshift(File.dirname(__FILE__)) unless
3
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
+
5
+ module PlcUtil
6
+ VERSION = '0.2.2'
7
+ end
8
+
metadata CHANGED
@@ -1,118 +1,81 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: tallakt-plcutil
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 2
9
- - 1
10
- version: 0.2.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Tallak Tveide
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2010-10-12 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: thoughtbot-shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2010-10-12 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: dbf
16
+ requirement: &82091340 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
33
- type: :development
34
- version_requirements: *id001
35
- description: Ruby library for using Siemens and Intouch files
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.6.6
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *82091340
25
+ description: Ruby library for using Siemens, Schneider and Intouch files
36
26
  email: tallak@tveide.net
37
- executables:
27
+ executables:
38
28
  - awlpp
39
29
  - intouchpp
40
30
  - pl7tointouch
41
31
  - s7tointouch
42
32
  extensions: []
43
-
44
- extra_rdoc_files:
33
+ extra_rdoc_files:
45
34
  - LICENSE
46
35
  - README.rdoc
47
- - TODO
48
- files:
49
- - .gitignore
50
- - History.txt
51
- - LICENSE
52
- - Manifest.txt
53
- - README.rdoc
54
- - Rakefile
55
- - TODO
56
- - VERSION
57
- - bin/awlpp
58
- - bin/intouchpp
59
- - bin/pl7tointouch
60
- - bin/s7tointouch
61
- - lib/tallakt-plcutil.rb
62
- - lib/tallakt-plcutil/schneider/pl7_to_intouch_runner.rb
36
+ files:
63
37
  - lib/tallakt-plcutil/siemens/awl_pretty_print_runner.rb
64
- - lib/tallakt-plcutil/siemens/awlfile.rb
65
38
  - lib/tallakt-plcutil/siemens/sdffile.rb
66
39
  - lib/tallakt-plcutil/siemens/step7_to_intouch_runner.rb
67
- - lib/tallakt-plcutil/wonderware/intouch_pretty_print_runner.rb
40
+ - lib/tallakt-plcutil/siemens/awlfile.rb
41
+ - lib/tallakt-plcutil/version.rb
42
+ - lib/tallakt-plcutil/schneider/pl7_to_intouch_runner.rb
68
43
  - lib/tallakt-plcutil/wonderware/intouchfile.rb
44
+ - lib/tallakt-plcutil/wonderware/intouch_pretty_print_runner.rb
69
45
  - lib/tallakt-plcutil/wonderware/standard_sections.yaml
70
- - script/console
71
- - script/console.cmd
72
- - script/destroy
73
- - script/destroy.cmd
74
- - script/generate
75
- - script/generate.cmd
76
- - tallakt-plcutil.gemspec
77
- - test/helper.rb
78
- - test/input_files/step7_v5.4/00000001.AWL
79
- - test/input_files/step7_v5.4/S7_pro2.zip
80
- - test/input_files/step7_v5.4/SYMLIST.DBF
81
- - test/test_tallakt-plcutil.rb
82
- has_rdoc: true
46
+ - lib/tallakt-plcutil.rb
47
+ - bin/pl7tointouch
48
+ - bin/awlpp
49
+ - bin/intouchpp
50
+ - bin/s7tointouch
51
+ - History.txt
52
+ - LICENSE
53
+ - README.rdoc
54
+ - Rakefile
83
55
  homepage: http://github.com/tallakt/plcutil
84
56
  licenses: []
85
-
86
57
  post_install_message:
87
- rdoc_options:
58
+ rdoc_options:
88
59
  - --charset=UTF-8
89
- require_paths:
60
+ require_paths:
90
61
  - lib
91
- required_ruby_version: !ruby/object:Gem::Requirement
62
+ required_ruby_version: !ruby/object:Gem::Requirement
92
63
  none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
- version: "0"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
69
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
109
74
  requirements: []
110
-
111
75
  rubyforge_project:
112
- rubygems_version: 1.3.7
76
+ rubygems_version: 1.8.10
113
77
  signing_key:
114
78
  specification_version: 3
115
79
  summary: Ruby PLC file library
116
- test_files:
117
- - test/helper.rb
118
- - test/test_tallakt-plcutil.rb
80
+ test_files: []
81
+ has_rdoc:
data/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- *swp
2
- pkg/tallakt-plcutil-0.1.0.gem pkg/tallakt-plcutil-0.1.1.gem pkg/tallakt-plcutil-0.1.2.gem
data/Manifest.txt DELETED
@@ -1,42 +0,0 @@
1
- History.txt
2
- LICENSE
3
- Manifest.txt
4
- README.rdoc
5
- Rakefile
6
- TODO
7
- VERSION
8
- bin
9
- bin/awlpp
10
- bin/intouchpp
11
- bin/pl7tointouch
12
- bin/s7tointouch
13
- lib
14
- lib/tallakt-plcutil
15
- lib/tallakt-plcutil/schneider
16
- lib/tallakt-plcutil/schneider/pl7_to_intouch_runner.rb
17
- lib/tallakt-plcutil/siemens
18
- lib/tallakt-plcutil/siemens/awlfile.rb
19
- lib/tallakt-plcutil/siemens/awl_pretty_print_runner.rb
20
- lib/tallakt-plcutil/siemens/sdffile.rb
21
- lib/tallakt-plcutil/siemens/step7_to_intouch_runner.rb
22
- lib/tallakt-plcutil/wonderware
23
- lib/tallakt-plcutil/wonderware/intouchfile.rb
24
- lib/tallakt-plcutil/wonderware/intouch_pretty_print_runner.rb
25
- lib/tallakt-plcutil/wonderware/standard_sections.yaml
26
- lib/tallakt-plcutil.rb
27
- script
28
- script/console
29
- script/console.cmd
30
- script/destroy
31
- script/destroy.cmd
32
- script/generate
33
- script/generate.cmd
34
- tallakt-plcutil.gemspec
35
- test
36
- test/helper.rb
37
- test/input_files
38
- test/input_files/step7_v5.4
39
- test/input_files/step7_v5.4/00000001.AWL
40
- test/input_files/step7_v5.4/S7_pro2.zip
41
- test/input_files/step7_v5.4/SYMLIST.DBF
42
- test/test_tallakt-plcutil.rb
data/TODO DELETED
@@ -1 +0,0 @@
1
-
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.1
data/script/console DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # File: script/console
3
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
-
5
- libs = " -r irb/completion"
6
- # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
- # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/plcutil.rb'}"
9
- puts "Loading plcutil gem"
10
- exec "#{irb} #{libs} --simple-prompt"
data/script/console.cmd DELETED
@@ -1 +0,0 @@
1
- @ruby script/console %*
data/script/destroy DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/destroy.cmd DELETED
@@ -1 +0,0 @@
1
- @ruby script/destroy %*
data/script/generate DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)
data/script/generate.cmd DELETED
@@ -1 +0,0 @@
1
- @ruby script/generate %*
@@ -1,79 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{tallakt-plcutil}
8
- s.version = "0.2.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Tallak Tveide"]
12
- s.date = %q{2010-10-12}
13
- s.description = %q{Ruby library for using Siemens and Intouch files}
14
- s.email = %q{tallak@tveide.net}
15
- s.executables = ["awlpp", "intouchpp", "pl7tointouch", "s7tointouch"]
16
- s.extra_rdoc_files = [
17
- "LICENSE",
18
- "README.rdoc",
19
- "TODO"
20
- ]
21
- s.files = [
22
- ".gitignore",
23
- "History.txt",
24
- "LICENSE",
25
- "Manifest.txt",
26
- "README.rdoc",
27
- "Rakefile",
28
- "TODO",
29
- "VERSION",
30
- "bin/awlpp",
31
- "bin/intouchpp",
32
- "bin/pl7tointouch",
33
- "bin/s7tointouch",
34
- "lib/tallakt-plcutil.rb",
35
- "lib/tallakt-plcutil/schneider/pl7_to_intouch_runner.rb",
36
- "lib/tallakt-plcutil/siemens/awl_pretty_print_runner.rb",
37
- "lib/tallakt-plcutil/siemens/awlfile.rb",
38
- "lib/tallakt-plcutil/siemens/sdffile.rb",
39
- "lib/tallakt-plcutil/siemens/step7_to_intouch_runner.rb",
40
- "lib/tallakt-plcutil/wonderware/intouch_pretty_print_runner.rb",
41
- "lib/tallakt-plcutil/wonderware/intouchfile.rb",
42
- "lib/tallakt-plcutil/wonderware/standard_sections.yaml",
43
- "script/console",
44
- "script/console.cmd",
45
- "script/destroy",
46
- "script/destroy.cmd",
47
- "script/generate",
48
- "script/generate.cmd",
49
- "tallakt-plcutil.gemspec",
50
- "test/helper.rb",
51
- "test/input_files/step7_v5.4/00000001.AWL",
52
- "test/input_files/step7_v5.4/S7_pro2.zip",
53
- "test/input_files/step7_v5.4/SYMLIST.DBF",
54
- "test/test_tallakt-plcutil.rb"
55
- ]
56
- s.homepage = %q{http://github.com/tallakt/plcutil}
57
- s.rdoc_options = ["--charset=UTF-8"]
58
- s.require_paths = ["lib"]
59
- s.rubygems_version = %q{1.3.6}
60
- s.summary = %q{Ruby PLC file library}
61
- s.test_files = [
62
- "test/helper.rb",
63
- "test/test_tallakt-plcutil.rb"
64
- ]
65
-
66
- if s.respond_to? :specification_version then
67
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
68
- s.specification_version = 3
69
-
70
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
71
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
72
- else
73
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
74
- end
75
- else
76
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
77
- end
78
- end
79
-
data/test/helper.rb DELETED
@@ -1,10 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
-
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
- $LOAD_PATH.unshift(File.dirname(__FILE__))
7
- require 'tallakt-plcutil'
8
-
9
- class Test::Unit::TestCase
10
- end
@@ -1,139 +0,0 @@
1
- TYPE "User defined DB"
2
- VERSION : 0.1
3
-
4
-
5
- STRUCT
6
- int_at_0_0 : INT ; //First int
7
- bool_at_2_0 : BOOL ; //First bool
8
- bool_at_2_1 : BOOL ;
9
- bool_at_2_2 : BOOL ;
10
- word_at_4_0 : WORD ;
11
- dword_at_6_0 : DWORD ;
12
- byte_at_10_0 : BYTE ;
13
- dint_at_12_0 : DINT ;
14
- real_at_16_0 : REAL ;
15
- s5time_at_20 : S5TIME ;
16
- time_at_22_0 : TIME ;
17
- date_at_26_0 : DATE ;
18
- time_of_day_at_28_0 : TIME_OF_DAY ;
19
- char_at_32_0 : CHAR := 't';
20
- byte_at_33_0 : BYTE ;
21
- byte_at_34_0 : BYTE ;
22
- END_STRUCT ;
23
- END_TYPE
24
-
25
- DATA_BLOCK "Data block 1"
26
- TITLE =
27
- VERSION : 0.1
28
-
29
-
30
- STRUCT
31
- struct_at_0_0 : "User defined DB"; //Temporary placeholder variable
32
- struct_at_36_0 : "User defined DB";
33
- char_array_at_72_0 : ARRAY [0 .. 10 ] OF CHAR ;
34
- anonomous_struct_at_84_0 : STRUCT
35
- bool_at_84_0 : BOOL ;
36
- bool_at_84_1 : BOOL ;
37
- char_at_85_0 : CHAR := 'x';
38
- char_at_86_0 : CHAR ;
39
- word_at_88_0 : WORD ;
40
- char_at_90_0 : CHAR ;
41
- char_array_at_92_0 : ARRAY [0 .. 9 ] OF //array comment 1
42
- CHAR ;
43
- char_at_102_0 : CHAR ;
44
- END_STRUCT ;
45
- word_at_104_0 : WORD ;
46
- char_at_106_0 : CHAR ;
47
- bool_at_107_0 : BOOL ;
48
- char_at_108_0 : CHAR ;
49
- char_array_at_110_0 : ARRAY [0 .. 1 ] OF CHAR ;
50
- END_STRUCT ;
51
- BEGIN
52
- struct_at_0_0.int_at_0_0 := 0;
53
- struct_at_0_0.bool_at_2_0 := FALSE;
54
- struct_at_0_0.bool_at_2_1 := FALSE;
55
- struct_at_0_0.bool_at_2_2 := FALSE;
56
- struct_at_0_0.word_at_4_0 := W#16#0;
57
- struct_at_0_0.dword_at_6_0 := DW#16#0;
58
- struct_at_0_0.byte_at_10_0 := B#16#0;
59
- struct_at_0_0.dint_at_12_0 := L#0;
60
- struct_at_0_0.real_at_16_0 := 0.000000e+000;
61
- struct_at_0_0.s5time_at_20 := S5T#0MS;
62
- struct_at_0_0.time_at_22_0 := T#0MS;
63
- struct_at_0_0.date_at_26_0 := D#1990-1-1;
64
- struct_at_0_0.time_of_day_at_28_0 := TOD#0:0:0.0;
65
- struct_at_0_0.char_at_32_0 := 't';
66
- struct_at_0_0.byte_at_33_0 := B#16#0;
67
- struct_at_0_0.byte_at_34_0 := B#16#0;
68
- struct_at_36_0.int_at_0_0 := 0;
69
- struct_at_36_0.bool_at_2_0 := FALSE;
70
- struct_at_36_0.bool_at_2_1 := FALSE;
71
- struct_at_36_0.bool_at_2_2 := FALSE;
72
- struct_at_36_0.word_at_4_0 := W#16#0;
73
- struct_at_36_0.dword_at_6_0 := DW#16#0;
74
- struct_at_36_0.byte_at_10_0 := B#16#0;
75
- struct_at_36_0.dint_at_12_0 := L#0;
76
- struct_at_36_0.real_at_16_0 := 0.000000e+000;
77
- struct_at_36_0.s5time_at_20 := S5T#0MS;
78
- struct_at_36_0.time_at_22_0 := T#0MS;
79
- struct_at_36_0.date_at_26_0 := D#1990-1-1;
80
- struct_at_36_0.time_of_day_at_28_0 := TOD#0:0:0.0;
81
- struct_at_36_0.char_at_32_0 := 't';
82
- struct_at_36_0.byte_at_33_0 := B#16#0;
83
- struct_at_36_0.byte_at_34_0 := B#16#0;
84
- char_array_at_72_0[0] := ' ';
85
- char_array_at_72_0[1] := ' ';
86
- char_array_at_72_0[2] := ' ';
87
- char_array_at_72_0[3] := ' ';
88
- char_array_at_72_0[4] := ' ';
89
- char_array_at_72_0[5] := ' ';
90
- char_array_at_72_0[6] := ' ';
91
- char_array_at_72_0[7] := ' ';
92
- char_array_at_72_0[8] := ' ';
93
- char_array_at_72_0[9] := ' ';
94
- char_array_at_72_0[10] := ' ';
95
- anonomous_struct_at_84_0.bool_at_84_0 := FALSE;
96
- anonomous_struct_at_84_0.bool_at_84_1 := FALSE;
97
- anonomous_struct_at_84_0.char_at_85_0 := 'x';
98
- anonomous_struct_at_84_0.char_at_86_0 := ' ';
99
- anonomous_struct_at_84_0.word_at_88_0 := W#16#0;
100
- anonomous_struct_at_84_0.char_at_90_0 := ' ';
101
- anonomous_struct_at_84_0.char_array_at_92_0[0] := ' ';
102
- anonomous_struct_at_84_0.char_array_at_92_0[1] := ' ';
103
- anonomous_struct_at_84_0.char_array_at_92_0[2] := ' ';
104
- anonomous_struct_at_84_0.char_array_at_92_0[3] := ' ';
105
- anonomous_struct_at_84_0.char_array_at_92_0[4] := ' ';
106
- anonomous_struct_at_84_0.char_array_at_92_0[5] := ' ';
107
- anonomous_struct_at_84_0.char_array_at_92_0[6] := ' ';
108
- anonomous_struct_at_84_0.char_array_at_92_0[7] := ' ';
109
- anonomous_struct_at_84_0.char_array_at_92_0[8] := ' ';
110
- anonomous_struct_at_84_0.char_array_at_92_0[9] := ' ';
111
- anonomous_struct_at_84_0.char_at_102_0 := ' ';
112
- word_at_104_0 := W#16#0;
113
- char_at_106_0 := ' ';
114
- bool_at_107_0 := FALSE;
115
- char_at_108_0 := ' ';
116
- char_array_at_110_0[0] := ' ';
117
- char_array_at_110_0[1] := ' ';
118
- END_DATA_BLOCK
119
-
120
- ORGANIZATION_BLOCK "Cycle Execution"
121
- TITLE = "Main Program Sweep (Cycle)"
122
- VERSION : 0.1
123
-
124
-
125
- VAR_TEMP
126
- OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
127
- OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
128
- OB1_PRIORITY : BYTE ; //Priority of OB Execution
129
- OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
130
- OB1_RESERVED_1 : BYTE ; //Reserved for system
131
- OB1_RESERVED_2 : BYTE ; //Reserved for system
132
- OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
133
- OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
134
- OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
135
- OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
136
- END_VAR
137
- BEGIN
138
- END_ORGANIZATION_BLOCK
139
-
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestTallaktPlcutil < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end