tallakt-plcutil 0.2.5 → 0.2.6

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/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.2.5 2012-07-13
2
+
3
+ * reintroduced float support in pl7tointouch
4
+
1
5
  == 0.2.4 2012-07-13
2
6
 
3
7
  * awlpp completely rewritten based on treetop parser
data/README.rdoc CHANGED
@@ -20,6 +20,10 @@ Print the contents of Siemens Step 7 IO file
20
20
 
21
21
  awlpp -s SYMLIST.DBF 00000007.AWL
22
22
 
23
+ Find file names corersponding to a internal Step 7 source file name
24
+
25
+ awlls --folder ../myproject/
26
+
23
27
  Convert a siemens IO list into a Wonderware Intouch (non IAS) DB import file
24
28
 
25
29
  s7tointouch -s SYMLIST.DBF -a SIEMENSPLC 00000007.AWL
data/bin/awlls ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path('../../lib', __FILE__)
3
+ require 'plcutil/siemens/awl_ls_runner'
4
+
5
+ PlcUtil::AwlLsRunner.run
6
+
data/lib/plcutil.rb CHANGED
@@ -3,6 +3,6 @@ $:.unshift(File.dirname(__FILE__)) unless
3
3
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
4
 
5
5
  module PlcUtil
6
- VERSION = '0.2.5'
6
+ VERSION = '0.2.6'
7
7
  end
8
8
 
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/ruby
2
+ require 'clamp'
3
+ require 'dbf'
4
+ module PlcUtil
5
+ class AwlLsRunner < Clamp::Command
6
+ def execute
7
+ # search for dbf file containing internal name -> awl file
8
+ dbf_files = Dir["#{folder || '.'}/**/S7CONTAI.DBF"]
9
+ if dbf_files.empty?
10
+ puts 'No S7CONTAI.DBF found in folder'
11
+ else
12
+ awl_to_siemens = dbf_files.map do |s7contai|
13
+ dbf = DBF::Table.new s7contai
14
+ dir = File::dirname s7contai
15
+ Hash[dbf.select {|x| x }.map {|row| [File.join(dir, row.filename), row.name]}]
16
+ end.reduce(&:merge)
17
+
18
+ expanded = file_list.map {|f| File::expand_path f }
19
+ interesting = awl_to_siemens.select {|k,v| expanded.member?(File.expand_path(k)) || file_list.member?(v) || file_list.empty? }
20
+ longest = interesting.values.sort {|a,b| a.length <=> b.length }.last
21
+ interesting.each {|k,v| puts "%-#{longest.length}s %s" % [v, k] }
22
+ end
23
+ end
24
+
25
+ option %W(-f --folder), 'FOLDER', 'folder containing one or more Siemens Step 7 projects'
26
+ parameter "[FILE] ...", 'either siemens Step 7 names of source files, or AWL files to check'
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tallakt-plcutil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '1.6'
21
+ version: '2.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '1.6'
29
+ version: '2.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: polyglot
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -81,6 +81,7 @@ executables:
81
81
  - awlpp
82
82
  - intouchpp
83
83
  - pl7tointouch
84
+ - awlls
84
85
  extensions: []
85
86
  extra_rdoc_files:
86
87
  - LICENSE
@@ -95,6 +96,7 @@ files:
95
96
  - lib/plcutil/siemens/awl/struct_type.rb
96
97
  - lib/plcutil/siemens/awl/symlist_file.rb
97
98
  - lib/plcutil/siemens/awl/treetop_nodes.rb
99
+ - lib/plcutil/siemens/awl_ls_runner.rb
98
100
  - lib/plcutil/siemens/awl_pretty_print_runner.rb
99
101
  - lib/plcutil/siemens/sdffile.rb
100
102
  - lib/plcutil/siemens/step7_to_intouch_runner.rb
@@ -103,6 +105,7 @@ files:
103
105
  - lib/plcutil/wonderware/intouch_pretty_print_runner.rb
104
106
  - lib/plcutil/wonderware/standard_sections.yaml
105
107
  - lib/plcutil.rb
108
+ - bin/awlls
106
109
  - bin/awlpp
107
110
  - bin/intouchpp
108
111
  - bin/pl7tointouch
@@ -142,3 +145,4 @@ test_files:
142
145
  - test/input_files/step7_v5.4/00000001.AWL
143
146
  - test/input_files/step7_v5.4/S7_pro2.zip
144
147
  - test/input_files/step7_v5.4/SYMLIST.DBF
148
+ has_rdoc: