tallakt-plcutil 0.2.10 → 0.2.11
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/symlist +32 -19
- data/lib/plcutil.rb +1 -1
- metadata +2 -3
data/bin/symlist
CHANGED
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'dbf'
|
4
4
|
|
5
|
-
symlists_file = ARGV.shift
|
6
|
-
|
7
|
-
raise "Please specify the name of the project's SYMLISTS.DBF file as parameter" unless symlists_file && symlists_file.match(/SYMLISTS[.]DBF/i)
|
8
|
-
|
9
5
|
class Tag
|
10
6
|
attr_reader :name, :address, :comment, :type
|
11
7
|
|
@@ -14,23 +10,40 @@ class Tag
|
|
14
10
|
end
|
15
11
|
end
|
16
12
|
|
17
|
-
symlists = DBF::Table.new symlists_file
|
18
|
-
files = symlists.map {|record| [record['_UNAME'], record['_DBPATH']] unless record['_DELETED'] }.compact
|
19
13
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
14
|
+
def print_symlist(symlists_file)
|
15
|
+
symlists = DBF::Table.new symlists_file
|
16
|
+
files = symlists.map {|record| [record['_UNAME'], record['_DBPATH']] unless record['_DELETED'] }.compact
|
17
|
+
|
18
|
+
tags = []
|
19
|
+
files.each do |uname, dbpath|
|
20
|
+
fn = File.join(File.dirname(symlists_file), dbpath, 'SYMLIST.DBF')
|
21
|
+
symlist = DBF::Table.new fn
|
22
|
+
symlist.each do |rec|
|
23
|
+
tags << Tag.new(rec['_SKZ'], rec['_DATATYP'], rec['_OPIEC'], rec['_COMMENT']) if rec
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
tags.each do |t|
|
28
|
+
typ = if t.type == t.address
|
29
|
+
''
|
30
|
+
else
|
31
|
+
t.type
|
32
|
+
end
|
33
|
+
puts '%-24s%-12s%-13s%s' % [t.name, typ, t.address, t.comment]
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
puts
|
37
|
+
s7_folder = ARGV.shift || '.'
|
38
|
+
symlists_files = Dir::glob(File.join(s7_folder, '**', 'SYMLISTS.DBF'))
|
39
|
+
|
40
|
+
if symlists_files.size == 1
|
41
|
+
print_symlist symlists_files.first
|
42
|
+
else
|
43
|
+
STDERR.puts "Please specify the Step 7 project folder"
|
44
|
+
if symlists_files.any?
|
45
|
+
STDERR.puts 'Possible options:'
|
46
|
+
symlists_files.each {|f| STDERR.puts " #{File.dirname(File.dirname f)}" }
|
47
|
+
end
|
36
48
|
end
|
49
|
+
|
data/lib/plcutil.rb
CHANGED
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.
|
4
|
+
version: 0.2.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -139,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
version: '0'
|
140
140
|
requirements: []
|
141
141
|
rubyforge_project:
|
142
|
-
rubygems_version: 1.8.
|
142
|
+
rubygems_version: 1.8.23
|
143
143
|
signing_key:
|
144
144
|
specification_version: 3
|
145
145
|
summary: Ruby PLC file library
|
@@ -147,4 +147,3 @@ test_files:
|
|
147
147
|
- test/input_files/step7_v5.4/00000001.AWL
|
148
148
|
- test/input_files/step7_v5.4/S7_pro2.zip
|
149
149
|
- test/input_files/step7_v5.4/SYMLIST.DBF
|
150
|
-
has_rdoc:
|