Menu

subscribe

Help
2011-10-28
2015-04-16
1 2 > >> (Page 1 of 2)
  • aaron tanquerel

    aaron tanquerel - 2011-10-28

    Hi, I've got a load of subscriptions to an F register to an SLC5/05, when i say a load, i mean about a hundred.  The first 59 subscriptions are fine, but after that they're not returning to the Returned sub.  Is there a limit to the amount of subscriptions to the same register?  Would the readany command, with 100 elements be a better approach, i prefer to use subscribe because this doesn't slow response to buttons. thanks in advance,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-01

    i've tried the 3.19v of advHmi, and see that you've changed the subscribe slightly and added an amount of elements to it.  I can't seem to get it to return any more than one element though, any suggestions on these queries?  thanks,

     
  • Archie

    Archie - 2011-11-01

    The new parameter is only reserved for future revisions. There are no current provisions in the drivers for subscribing to more than one element with a single subscription.

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-02

    any idea why i can't subscribe to more than 59 of the same F register?  thanks, archie

     
  • Archie

    Archie - 2011-11-02

    I haven't had an oppotunity to set it up and try it out yet, but I have a suspicion that it is something to do with the read optimization. Put a break point at line 454 in AllenBradleyPCCC.vb and see what the highest number the variable NumberToRead gets to in this line of code:

                        Me.ReadAny(PLCAddress, NumberToRead)

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-02

    i'm using ethernet, so i've put some extra variables in that code line, and here's what i get for 200 subscriptions:

    numbertoread = 200
    numbertoreadcalc = 200

    but only the first 59 come back,

    thanks archie,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-02

    i should say that any 59 come back depending on where i start from, thanks

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-02

    here's some code if you can test sometime…  

    Public F25_0 As String
        Public F25_1 As String
        Public F25_2 As String
        Public F25_3 As String
        Public F25_4 As String
        Public F25_5 As String
        Public F25_6 As String
        Public F25_7 As String
        Public F25_8 As String
        Public F25_9 As String
        Public F25_10 As String
        Public F25_11 As String
        Public F25_12 As String
        Public F25_13 As String
        Public F25_14 As String
        Public F25_15 As String
        Public F25_16 As String
        Public F25_17 As String
        Public F25_18 As String
        Public F25_19 As String
        Public F25_20 As String
        Public F25_21 As String
        Public F25_22 As String
        Public F25_23 As String
        Public F25_24 As String
        Public F25_25 As String
        Public F25_26 As String
        Public F25_27 As String
        Public F25_28 As String
        Public F25_29 As String
        Public F25_30 As String
        Public F25_31 As String
        Public F25_32 As String
        Public F25_33 As String
        Public F25_34 As String
        Public F25_35 As String
        Public F25_36 As String
        Public F25_37 As String
        Public F25_38 As String
        Public F25_39 As String
        Public F25_40 As String
        Public F25_41 As String
        Public F25_42 As String
        Public F25_43 As String
        Public F25_44 As String
        Public F25_45 As String
        Public F25_46 As String
        Public F25_47 As String
        Public F25_48 As String
        Public F25_49 As String
        Public F25_50 As String
        Public F25_51 As String
        Public F25_52 As String
        Public F25_53 As String
        Public F25_54 As String
        Public F25_55 As String
        Public F25_56 As String
        Public F25_57 As String
        Public F25_58 As String
        Public F25_59 As String
        Public F25_60 As String
        Public F25_61 As String
        Public F25_62 As String
        Public F25_63 As String
        Public F25_64 As String
        Public F25_65 As String
        Public F25_66 As String
        Public F25_67 As String
        Public F25_68 As String
        Public F25_69 As String
        Public F25_70 As String
        Public F25_71 As String
        Public F25_72 As String
        Public F25_73 As String
        Public F25_74 As String
        Public F25_75 As String
        Public F25_76 As String
        Public F25_77 As String
        Public F25_78 As String
        Public F25_79 As String
        Public F25_80 As String
        Public F25_81 As String
        Public F25_82 As String
        Public F25_83 As String
        Public F25_84 As String
        Public F25_85 As String
        Public F25_86 As String
        Public F25_87 As String
        Public F25_88 As String
        Public F25_89 As String
        Public F25_90 As String
        Public F25_91 As String
        Public F25_92 As String
        Public F25_93 As String
        Public F25_94 As String
        Public F25_95 As String
        Public F25_96 As String
        Public F25_97 As String
        Public F25_98 As String
        Public F25_99 As String
        Public F25_100 As String
        Public F25_101 As String
        Public F25_102 As String
        Public F25_103 As String
        Public F25_104 As String
        Public F25_105 As String
        Public F25_106 As String
        Public F25_107 As String
        Public F25_108 As String
        Public F25_109 As String
        Public F25_110 As String
        Public F25_111 As String
        Public F25_112 As String
        Public F25_113 As String
        Public F25_114 As String
        Public F25_115 As String
        Public F25_116 As String
        Public F25_117 As String
        Public F25_118 As String
        Public F25_119 As String
        Public F25_120 As String
        Public F25_121 As String
        Public F25_122 As String
        Public F25_123 As String
        Public F25_124 As String
        Public F25_125 As String
        Public F25_126 As String
        Public F25_127 As String
        Public F25_128 As String
        Public F25_129 As String
        Public F25_130 As String
        Public F25_131 As String
        Public F25_132 As String
        Public F25_133 As String
        Public F25_134 As String
        Public F25_135 As String
        Public F25_136 As String
        Public F25_137 As String
        Public F25_138 As String
        Public F25_139 As String
        Public F25_140 As String
        Public F25_141 As String
        Public F25_142 As String
        Public F25_143 As String
        Public F25_144 As String
        Public F25_145 As String
        Public F25_146 As String
        Public F25_147 As String
        Public F25_148 As String
        Public F25_149 As String
        Public F25_150 As String
        Public F25_151 As String
        Public F25_152 As String
        Public F25_153 As String
        Public F25_154 As String
        Public F25_155 As String
        Public F25_156 As String
        Public F25_157 As String
        Public F25_158 As String
        Public F25_159 As String
        Public F25_160 As String
        Public F25_161 As String
        Public F25_162 As String
        Public F25_163 As String
        Public F25_164 As String
        Public F25_165 As String
        Public F25_166 As String
        Public F25_167 As String
        Public F25_168 As String
        Public F25_169 As String
        Public F25_170 As String
        Public F25_171 As String
        Public F25_172 As String
        Public F25_173 As String
        Public F25_174 As String
        Public F25_175 As String
        Public F25_176 As String
        Public F25_177 As String
        Public F25_178 As String
        Public F25_179 As String
        Public F25_180 As String
        Public F25_181 As String
        Public F25_182 As String
        Public F25_183 As String
        Public F25_184 As String
        Public F25_185 As String
        Public F25_186 As String
        Public F25_187 As String
        Public F25_188 As String
        Public F25_189 As String
        Public F25_190 As String
        Public F25_191 As String
        Public F25_192 As String
        Public F25_193 As String
        Public F25_194 As String
        Public F25_195 As String
        Public F25_196 As String
        Public F25_197 As String
        Public F25_198 As String
        Public F25_199 As String

        Public array(199) As String

        Private Sub subscriptions1()
            EthernetIPforSLCMicroComm1.Subscribe("F25:0", 1, 250, AddressOf F25_0_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:1", 1, 250, AddressOf F25_1_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:2", 1, 250, AddressOf F25_2_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:3", 1, 250, AddressOf F25_3_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:4", 1, 250, AddressOf F25_4_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:5", 1, 250, AddressOf F25_5_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:6", 1, 250, AddressOf F25_6_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:7", 1, 250, AddressOf F25_7_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:8", 1, 250, AddressOf F25_8_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:9", 1, 250, AddressOf F25_9_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:10", 1, 250, AddressOf F25_10_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:11", 1, 250, AddressOf F25_11_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:12", 1, 250, AddressOf F25_12_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:13", 1, 250, AddressOf F25_13_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:14", 1, 250, AddressOf F25_14_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:15", 1, 250, AddressOf F25_15_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:16", 1, 250, AddressOf F25_16_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:17", 1, 250, AddressOf F25_17_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:18", 1, 250, AddressOf F25_18_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:19", 1, 250, AddressOf F25_19_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:20", 1, 250, AddressOf F25_20_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:21", 1, 250, AddressOf F25_21_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:22", 1, 250, AddressOf F25_22_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:23", 1, 250, AddressOf F25_23_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:24", 1, 250, AddressOf F25_24_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:25", 1, 250, AddressOf F25_25_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:26", 1, 250, AddressOf F25_26_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:27", 1, 250, AddressOf F25_27_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:28", 1, 250, AddressOf F25_28_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:29", 1, 250, AddressOf F25_29_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:30", 1, 250, AddressOf F25_30_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:31", 1, 250, AddressOf F25_31_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:32", 1, 250, AddressOf F25_32_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:33", 1, 250, AddressOf F25_33_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:34", 1, 250, AddressOf F25_34_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:35", 1, 250, AddressOf F25_35_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:36", 1, 250, AddressOf F25_36_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:37", 1, 250, AddressOf F25_37_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:38", 1, 250, AddressOf F25_38_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:39", 1, 250, AddressOf F25_39_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:40", 1, 250, AddressOf F25_40_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:41", 1, 250, AddressOf F25_41_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:42", 1, 250, AddressOf F25_42_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:43", 1, 250, AddressOf F25_43_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:44", 1, 250, AddressOf F25_44_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:45", 1, 250, AddressOf F25_45_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:46", 1, 250, AddressOf F25_46_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:47", 1, 250, AddressOf F25_47_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:48", 1, 250, AddressOf F25_48_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:49", 1, 250, AddressOf F25_49_Returned)

            EthernetIPforSLCMicroComm1.Subscribe("F25:50", 1, 250, AddressOf F25_50_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:51", 1, 250, AddressOf F25_51_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:52", 1, 250, AddressOf F25_52_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:53", 1, 250, AddressOf F25_53_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:54", 1, 250, AddressOf F25_54_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:55", 1, 250, AddressOf F25_55_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:56", 1, 250, AddressOf F25_56_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:57", 1, 250, AddressOf F25_57_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:58", 1, 250, AddressOf F25_58_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:59", 1, 250, AddressOf F25_59_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:60", 1, 250, AddressOf F25_60_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:61", 1, 250, AddressOf F25_61_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:62", 1, 250, AddressOf F25_62_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:63", 1, 250, AddressOf F25_63_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:64", 1, 250, AddressOf F25_64_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:65", 1, 250, AddressOf F25_65_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:66", 1, 250, AddressOf F25_66_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:67", 1, 250, AddressOf F25_67_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:68", 1, 250, AddressOf F25_68_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:69", 1, 250, AddressOf F25_69_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:70", 1, 250, AddressOf F25_70_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:71", 1, 250, AddressOf F25_71_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:72", 1, 250, AddressOf F25_72_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:73", 1, 250, AddressOf F25_73_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:74", 1, 250, AddressOf F25_74_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:75", 1, 250, AddressOf F25_75_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:76", 1, 250, AddressOf F25_76_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:77", 1, 250, AddressOf F25_77_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:78", 1, 250, AddressOf F25_78_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:79", 1, 250, AddressOf F25_79_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:80", 1, 250, AddressOf F25_80_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:81", 1, 250, AddressOf F25_81_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:82", 1, 250, AddressOf F25_82_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:83", 1, 250, AddressOf F25_83_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:84", 1, 250, AddressOf F25_84_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:85", 1, 250, AddressOf F25_85_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:86", 1, 250, AddressOf F25_86_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:87", 1, 250, AddressOf F25_87_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:88", 1, 250, AddressOf F25_88_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:89", 1, 250, AddressOf F25_89_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:90", 1, 250, AddressOf F25_90_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:91", 1, 250, AddressOf F25_91_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:92", 1, 250, AddressOf F25_92_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:93", 1, 250, AddressOf F25_93_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:94", 1, 250, AddressOf F25_94_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:95", 1, 250, AddressOf F25_95_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:96", 1, 250, AddressOf F25_96_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:97", 1, 250, AddressOf F25_97_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:98", 1, 250, AddressOf F25_98_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:99", 1, 250, AddressOf F25_99_Returned)

            EthernetIPforSLCMicroComm1.Subscribe("F25:100", 1, 250, AddressOf F25_100_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:101", 1, 250, AddressOf F25_101_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:102", 1, 250, AddressOf F25_102_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:103", 1, 250, AddressOf F25_103_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:104", 1, 250, AddressOf F25_104_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:105", 1, 250, AddressOf F25_105_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:106", 1, 250, AddressOf F25_106_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:107", 1, 250, AddressOf F25_107_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:108", 1, 250, AddressOf F25_108_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:109", 1, 250, AddressOf F25_109_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:110", 1, 250, AddressOf F25_110_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:111", 1, 250, AddressOf F25_111_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:112", 1, 250, AddressOf F25_112_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:113", 1, 250, AddressOf F25_113_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:114", 1, 250, AddressOf F25_114_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:115", 1, 250, AddressOf F25_115_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:116", 1, 250, AddressOf F25_116_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:117", 1, 250, AddressOf F25_117_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:118", 1, 250, AddressOf F25_118_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:119", 1, 250, AddressOf F25_119_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:120", 1, 250, AddressOf F25_120_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:121", 1, 250, AddressOf F25_121_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:122", 1, 250, AddressOf F25_122_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:123", 1, 250, AddressOf F25_123_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:124", 1, 250, AddressOf F25_124_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:125", 1, 250, AddressOf F25_125_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:126", 1, 250, AddressOf F25_126_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:127", 1, 250, AddressOf F25_127_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:128", 1, 250, AddressOf F25_128_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:129", 1, 250, AddressOf F25_129_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:130", 1, 250, AddressOf F25_130_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:131", 1, 250, AddressOf F25_131_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:132", 1, 250, AddressOf F25_132_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:133", 1, 250, AddressOf F25_133_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:134", 1, 250, AddressOf F25_134_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:135", 1, 250, AddressOf F25_135_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:136", 1, 250, AddressOf F25_136_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:137", 1, 250, AddressOf F25_137_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:138", 1, 250, AddressOf F25_138_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:139", 1, 250, AddressOf F25_139_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:140", 1, 250, AddressOf F25_140_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:141", 1, 250, AddressOf F25_141_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:142", 1, 250, AddressOf F25_142_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:143", 1, 250, AddressOf F25_143_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:144", 1, 250, AddressOf F25_144_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:145", 1, 250, AddressOf F25_145_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:146", 1, 250, AddressOf F25_146_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:147", 1, 250, AddressOf F25_147_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:148", 1, 250, AddressOf F25_148_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:149", 1, 250, AddressOf F25_149_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:150", 1, 250, AddressOf F25_150_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:151", 1, 250, AddressOf F25_151_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:152", 1, 250, AddressOf F25_152_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:153", 1, 250, AddressOf F25_153_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:154", 1, 250, AddressOf F25_154_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:155", 1, 250, AddressOf F25_155_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:156", 1, 250, AddressOf F25_156_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:157", 1, 250, AddressOf F25_157_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:158", 1, 250, AddressOf F25_158_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:159", 1, 250, AddressOf F25_159_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:160", 1, 250, AddressOf F25_160_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:161", 1, 250, AddressOf F25_161_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:162", 1, 250, AddressOf F25_162_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:163", 1, 250, AddressOf F25_163_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:164", 1, 250, AddressOf F25_164_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:165", 1, 250, AddressOf F25_165_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:166", 1, 250, AddressOf F25_166_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:167", 1, 250, AddressOf F25_167_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:168", 1, 250, AddressOf F25_168_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:169", 1, 250, AddressOf F25_169_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:170", 1, 250, AddressOf F25_170_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:171", 1, 250, AddressOf F25_171_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:172", 1, 250, AddressOf F25_172_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:173", 1, 250, AddressOf F25_173_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:174", 1, 250, AddressOf F25_174_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:175", 1, 250, AddressOf F25_175_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:176", 1, 250, AddressOf F25_176_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:177", 1, 250, AddressOf F25_177_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:178", 1, 250, AddressOf F25_178_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:179", 1, 250, AddressOf F25_179_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:180", 1, 250, AddressOf F25_180_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:181", 1, 250, AddressOf F25_181_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:182", 1, 250, AddressOf F25_182_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:183", 1, 250, AddressOf F25_183_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:184", 1, 250, AddressOf F25_184_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:185", 1, 250, AddressOf F25_185_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:186", 1, 250, AddressOf F25_186_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:187", 1, 250, AddressOf F25_187_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:188", 1, 250, AddressOf F25_188_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:189", 1, 250, AddressOf F25_189_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:190", 1, 250, AddressOf F25_190_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:191", 1, 250, AddressOf F25_191_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:192", 1, 250, AddressOf F25_192_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:193", 1, 250, AddressOf F25_193_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:194", 1, 250, AddressOf F25_194_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:195", 1, 250, AddressOf F25_195_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:196", 1, 250, AddressOf F25_196_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:197", 1, 250, AddressOf F25_197_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:198", 1, 250, AddressOf F25_198_Returned)
            EthernetIPforSLCMicroComm1.Subscribe("F25:199", 1, 250, AddressOf F25_199_Returned)
        End Sub
        Private Sub F25_0_Returned(ByVal Values() As String)
            ' plcData = Values(0) ' get the data from the subscription
            F25_0 = Values(0)
        End Sub
        Private Sub F25_1_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_1 = Values(0)
        End Sub
        Private Sub F25_2_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_2 = Values(0)
        End Sub
        Private Sub F25_3_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_3 = Values(0)
        End Sub
        Private Sub F25_4_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_4 = Values(0)
        End Sub
        Private Sub F25_5_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_5 = Values(0)
        End Sub
        Private Sub F25_6_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_6 = Values(0)
        End Sub
        Private Sub F25_7_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_7 = Values(0)
        End Sub
        Private Sub F25_8_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_8 = Values(0)
        End Sub
        Private Sub F25_9_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_9 = Values(0)
        End Sub
        Private Sub F25_10_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_10 = Values(0)
        End Sub
        Private Sub F25_11_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_11 = Values(0)
        End Sub
        Private Sub F25_12_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_12 = Values(0)
        End Sub
        Private Sub F25_13_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_13 = Values(0)
        End Sub
        Private Sub F25_14_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_14 = Values(0)
        End Sub
        Private Sub F25_15_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_15 = Values(0)
        End Sub
        Private Sub F25_16_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_16 = Values(0)
        End Sub
        Private Sub F25_17_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_17 = Values(0)
        End Sub
        Private Sub F25_18_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_18 = Values(0)
        End Sub
        Private Sub F25_19_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_19 = Values(0)
        End Sub
        Private Sub F25_20_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_20 = Values(0)
        End Sub
        Private Sub F25_21_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_21 = Values(0)
        End Sub
        Private Sub F25_22_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_22 = Values(0)
        End Sub
        Private Sub F25_23_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_23 = Values(0)
        End Sub
        Private Sub F25_24_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_24 = Values(0)
        End Sub
        Private Sub F25_25_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_25 = Values(0)
        End Sub
        Private Sub F25_26_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_26 = Values(0)
        End Sub
        Private Sub F25_27_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_27 = Values(0)
        End Sub
        Private Sub F25_28_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_28 = Values(0)
        End Sub
        Private Sub F25_29_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_29 = Values(0)
        End Sub
        Private Sub F25_30_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_30 = Values(0)
        End Sub
        Private Sub F25_31_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_31 = Values(0)
        End Sub
        Private Sub F25_32_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_32 = Values(0)
        End Sub
        Private Sub F25_33_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_33 = Values(0)
        End Sub
        Private Sub F25_34_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_34 = Values(0)
        End Sub
        Private Sub F25_35_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_35 = Values(0)
        End Sub
        Private Sub F25_36_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_36 = Values(0)
        End Sub
        Private Sub F25_37_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_37 = Values(0)
        End Sub
        Private Sub F25_38_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_38 = Values(0)
        End Sub
        Private Sub F25_39_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_39 = Values(0)
        End Sub
        Private Sub F25_40_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_40 = Values(0)
        End Sub
        Private Sub F25_41_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_41 = Values(0)
        End Sub
        Private Sub F25_42_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_42 = Values(0)
        End Sub
        Private Sub F25_43_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_43 = Values(0)
        End Sub
        Private Sub F25_44_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_44 = Values(0)
        End Sub
        Private Sub F25_45_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_45 = Values(0)
        End Sub
        Private Sub F25_46_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_46 = Values(0)
        End Sub
        Private Sub F25_47_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_47 = Values(0)
        End Sub
        Private Sub F25_48_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_48 = Values(0)
        End Sub
        Private Sub F25_49_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_49 = Values(0)
        End Sub
        Private Sub F25_50_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_50 = Values(0)
        End Sub
        Private Sub F25_51_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_51 = Values(0)
        End Sub
        Private Sub F25_52_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_52 = Values(0)
        End Sub
        Private Sub F25_53_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_53 = Values(0)
        End Sub
        Private Sub F25_54_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_54 = Values(0)
        End Sub
        Private Sub F25_55_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_55 = Values(0)
        End Sub
        Private Sub F25_56_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_56 = Values(0)
        End Sub
        Private Sub F25_57_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_57 = Values(0)
        End Sub
        Private Sub F25_58_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_58 = Values(0)
        End Sub
        Private Sub F25_59_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_59 = Values(0)
        End Sub
        Private Sub F25_60_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_60 = Values(0)
        End Sub
        Private Sub F25_61_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_61 = Values(0)
        End Sub
        Private Sub F25_62_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_62 = Values(0)
        End Sub
        Private Sub F25_63_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_63 = Values(0)
        End Sub
        Private Sub F25_64_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_64 = Values(0)
        End Sub
        Private Sub F25_65_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_65 = Values(0)
        End Sub
        Private Sub F25_66_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_66 = Values(0)
        End Sub
        Private Sub F25_67_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_67 = Values(0)
        End Sub
        Private Sub F25_68_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_68 = Values(0)
        End Sub
        Private Sub F25_69_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_69 = Values(0)
        End Sub
        Private Sub F25_70_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_70 = Values(0)
        End Sub
        Private Sub F25_71_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_71 = Values(0)
        End Sub
        Private Sub F25_72_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_72 = Values(0)
        End Sub
        Private Sub F25_73_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_73 = Values(0)
        End Sub
        Private Sub F25_74_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_74 = Values(0)
        End Sub
        Private Sub F25_75_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_75 = Values(0)
        End Sub
        Private Sub F25_76_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_76 = Values(0)
        End Sub
        Private Sub F25_77_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_77 = Values(0)
        End Sub
        Private Sub F25_78_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_78 = Values(0)
        End Sub
        Private Sub F25_79_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_79 = Values(0)
        End Sub
        Private Sub F25_80_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_80 = Values(0)
        End Sub
        Private Sub F25_81_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_81 = Values(0)
        End Sub
        Private Sub F25_82_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_82 = Values(0)
        End Sub
        Private Sub F25_83_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_83 = Values(0)
        End Sub
        Private Sub F25_84_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_84 = Values(0)
        End Sub
        Private Sub F25_85_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_85 = Values(0)
        End Sub
        Private Sub F25_86_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_86 = Values(0)
        End Sub
        Private Sub F25_87_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_87 = Values(0)
        End Sub
        Private Sub F25_88_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_88 = Values(0)
        End Sub
        Private Sub F25_89_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_89 = Values(0)
        End Sub
        Private Sub F25_90_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_90 = Values(0)
        End Sub
        Private Sub F25_91_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_91 = Values(0)
        End Sub
        Private Sub F25_92_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_92 = Values(0)
        End Sub
        Private Sub F25_93_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_93 = Values(0)
        End Sub
        Private Sub F25_94_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_94 = Values(0)
        End Sub
        Private Sub F25_95_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_95 = Values(0)
        End Sub
        Private Sub F25_96_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_96 = Values(0)
        End Sub
        Private Sub F25_97_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_97 = Values(0)
        End Sub
        Private Sub F25_98_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_98 = Values(0)
        End Sub
        Private Sub F25_99_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_99 = Values(0)
        End Sub
        Private Sub F25_100_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_100 = Values(0)
        End Sub
        Private Sub F25_101_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_101 = Values(0)
        End Sub
        Private Sub F25_102_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_102 = Values(0)
        End Sub
        Private Sub F25_103_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_103 = Values(0)
        End Sub
        Private Sub F25_104_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_104 = Values(0)
        End Sub
        Private Sub F25_105_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_105 = Values(0)
        End Sub
        Private Sub F25_106_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_106 = Values(0)
        End Sub
        Private Sub F25_107_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_107 = Values(0)
        End Sub
        Private Sub F25_108_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_108 = Values(0)
        End Sub
        Private Sub F25_109_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_109 = Values(0)
        End Sub
        Private Sub F25_110_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_110 = Values(0)
        End Sub
        Private Sub F25_111_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_111 = Values(0)
        End Sub
        Private Sub F25_112_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_112 = Values(0)
        End Sub
        Private Sub F25_113_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_113 = Values(0)
        End Sub
        Private Sub F25_114_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_114 = Values(0)
        End Sub
        Private Sub F25_115_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_115 = Values(0)
        End Sub
        Private Sub F25_116_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_116 = Values(0)
        End Sub
        Private Sub F25_117_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_117 = Values(0)
        End Sub
        Private Sub F25_118_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_118 = Values(0)
        End Sub
        Private Sub F25_119_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_119 = Values(0)
        End Sub
        Private Sub F25_120_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_120 = Values(0)
        End Sub
        Private Sub F25_121_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_121 = Values(0)
        End Sub
        Private Sub F25_122_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_122 = Values(0)
        End Sub
        Private Sub F25_123_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_123 = Values(0)
        End Sub
        Private Sub F25_124_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_124 = Values(0)
        End Sub
        Private Sub F25_125_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_125 = Values(0)
        End Sub
        Private Sub F25_126_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_126 = Values(0)
        End Sub
        Private Sub F25_127_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_127 = Values(0)
        End Sub
        Private Sub F25_128_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_128 = Values(0)
        End Sub
        Private Sub F25_129_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_129 = Values(0)
        End Sub
        Private Sub F25_130_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_130 = Values(0)
        End Sub
        Private Sub F25_131_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_131 = Values(0)
        End Sub
        Private Sub F25_132_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_132 = Values(0)
        End Sub
        Private Sub F25_133_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_133 = Values(0)
        End Sub
        Private Sub F25_134_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_134 = Values(0)
        End Sub
        Private Sub F25_135_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_135 = Values(0)
        End Sub
        Private Sub F25_136_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_136 = Values(0)
        End Sub
        Private Sub F25_137_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_137 = Values(0)
        End Sub
        Private Sub F25_138_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_138 = Values(0)
        End Sub
        Private Sub F25_139_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_139 = Values(0)
        End Sub
        Private Sub F25_140_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_140 = Values(0)
        End Sub
        Private Sub F25_141_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_141 = Values(0)
        End Sub
        Private Sub F25_142_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_142 = Values(0)
        End Sub
        Private Sub F25_143_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_143 = Values(0)
        End Sub
        Private Sub F25_144_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_144 = Values(0)
        End Sub
        Private Sub F25_145_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_145 = Values(0)
        End Sub
        Private Sub F25_146_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_146 = Values(0)
        End Sub
        Private Sub F25_147_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_147 = Values(0)
        End Sub
        Private Sub F25_148_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_148 = Values(0)
        End Sub
        Private Sub F25_149_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_149 = Values(0)
        End Sub
        Private Sub F25_150_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_150 = Values(0)
        End Sub
        Private Sub F25_151_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_151 = Values(0)
        End Sub
        Private Sub F25_152_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_152 = Values(0)
        End Sub
        Private Sub F25_153_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_153 = Values(0)
        End Sub
        Private Sub F25_154_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_154 = Values(0)
        End Sub
        Private Sub F25_155_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_155 = Values(0)
        End Sub
        Private Sub F25_156_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_156 = Values(0)
        End Sub
        Private Sub F25_157_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_157 = Values(0)
        End Sub
        Private Sub F25_158_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_158 = Values(0)
        End Sub
        Private Sub F25_159_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_159 = Values(0)
        End Sub
        Private Sub F25_160_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_160 = Values(0)
        End Sub
        Private Sub F25_161_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_161 = Values(0)
        End Sub
        Private Sub F25_162_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_162 = Values(0)
        End Sub
        Private Sub F25_163_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_163 = Values(0)
        End Sub
        Private Sub F25_164_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_164 = Values(0)
        End Sub
        Private Sub F25_165_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_165 = Values(0)
        End Sub
        Private Sub F25_166_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_166 = Values(0)
        End Sub
        Private Sub F25_167_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_167 = Values(0)
        End Sub
        Private Sub F25_168_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_168 = Values(0)
        End Sub
        Private Sub F25_169_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_169 = Values(0)
        End Sub
        Private Sub F25_170_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_170 = Values(0)
        End Sub
        Private Sub F25_171_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_171 = Values(0)
        End Sub
        Private Sub F25_172_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_172 = Values(0)
        End Sub
        Private Sub F25_173_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_173 = Values(0)
        End Sub
        Private Sub F25_174_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_174 = Values(0)
        End Sub
        Private Sub F25_175_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_175 = Values(0)
        End Sub
        Private Sub F25_176_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_176 = Values(0)
        End Sub
        Private Sub F25_177_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_177 = Values(0)
        End Sub
        Private Sub F25_178_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_178 = Values(0)
        End Sub
        Private Sub F25_179_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_179 = Values(0)
        End Sub
        Private Sub F25_180_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_180 = Values(0)
        End Sub
        Private Sub F25_181_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_181 = Values(0)
        End Sub
        Private Sub F25_182_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_182 = Values(0)
        End Sub
        Private Sub F25_183_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_183 = Values(0)
        End Sub
        Private Sub F25_184_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_184 = Values(0)
        End Sub
        Private Sub F25_185_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_185 = Values(0)
        End Sub
        Private Sub F25_186_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_186 = Values(0)
        End Sub
        Private Sub F25_187_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_187 = Values(0)
        End Sub
        Private Sub F25_188_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_188 = Values(0)
        End Sub
        Private Sub F25_189_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_189 = Values(0)
        End Sub
        Private Sub F25_190_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_190 = Values(0)
        End Sub
        Private Sub F25_191_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_191 = Values(0)
        End Sub
        Private Sub F25_192_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_192 = Values(0)
        End Sub
        Private Sub F25_193_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_193 = Values(0)
        End Sub
        Private Sub F25_194_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_194 = Values(0)
        End Sub
        Private Sub F25_195_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_195 = Values(0)
        End Sub
        Private Sub F25_196_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_196 = Values(0)
        End Sub
        Private Sub F25_197_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_197 = Values(0)
        End Sub
        Private Sub F25_198_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_198 = Values(0)
        End Sub
        Private Sub F25_199_Returned(ByVal Values() As String)
            ' plcData = Values(0)
            F25_199 = Values(0)
        End Sub
        Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            subscriptions1()
        End Sub

    thanks,

     
  • Archie

    Archie - 2011-11-02

    I can't test this right now, but try changing line 397 in AllenBradleyPCC.vb to this:

                While i < PolledAddressList.Count - 1 And NumberToReadCalc < 59 AndAlso (PolledAddressList(i).FileNumber = PolledAddressList(i + 1).FileNumber And _

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-03

    as i'm using the ethernet driver, i take it you mean line 488?

     
  • Archie

    Archie - 2011-11-04

    Yes, it is in EthernetIPforSLCMicroComm. I was thinking of the driver coming in version 4 which shares the AllenBradleyPCCC.vb class

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-04

    Tried that, and still no different, numbertoread and numbertoreadcalc were both 59.  unfortunately, i don't quite understand this command as i'd try some other things to rectify.  any further thoughts, perhaps someone else could test this code who's watching?

     
  • Archie

    Archie - 2011-11-04

    The read optimizing code is one of the more complicated pieces of code. Essentially it looks at all of the subscriptions and if it finds multiple subscriptions that are consectutive within a certain range, it will group them into a single read and parse back out when the data is returned. Because of protocol limitations only so many data values can be read in a single request. I was thinking maybe the optimizing wasn't working correctly and it was trying to read more than the protocol would allow. Once I get the opportunity I will setup a controller with Ethernet to see if I can duplicate the problem.

    In your case, instead of using subscriptions, I would preform that read like this:

    Private F25(200) as string

    '-----Reading- tie this to a timer event---
    EthernetIPforSLCMicroComm1.AsyncMode=True
    EthernetIPforSLCMicroComm1.ReadAny(F25.0, 200)
    '-------------------

    '------Receiving-------
        Private Sub EthernetIPforSLCMicroComm1_DataReceived(ByVal sender As Object, ByVal e As Drivers.PLCCommEventArgs) Handles EthernetIPforSLCMicroComm1.DataReceived
            For i As Integer = 0 To 199
                f(i)=e.Values(i)
            Next
        End Sub

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-04

    I tried running my original code on an ML1100 with the ethernet, and got the same problem.  After running your mod'ed code, the problem went away,  but going back to the SLC5/05 there was no improvement.  i'll try the multiple-read command.

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-07

    I tried the readAny command, but this refuses to return any more than 59 values!   i could do 4x50 reads, but is there anything else to try?  thanks,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-07

    I tried doing 4x50 reads, but i get this error:

    System.ArgumentOutOfRangeException was unhandled
      Message="Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"
      ParamName="index"
      Source="mscorlib"
      StackTrace:
           at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)    at System.ThrowHelper.ThrowArgumentOutOfRangeException()    at System.Collections.Generic.List`1.get_Item(Int32 index)    at System.Collections.ObjectModel.Collection`1.get_Item(Int32 index)    at AdvancedHMIDrivers.EthernetIPforSLCMicroComm.ReadRawData(ParsedDataAddress PAddress, Int32 numberOfBytes, Int32& result) in K:\AdvancedHMIv319\AdvancedHMIDrivers\EthernetIPforSLCMicroComm.vb:line 1877    at AdvancedHMIDrivers.EthernetIPforSLCMicroComm.ReadAny(String startAddress, Int32 numberOfElements) in K:\AdvancedHMIv319\AdvancedHMIDrivers\EthernetIPforSLCMicroComm.vb:line 1562    at MfgControl.AdvancedHMI.MainForm.Timer1_Tick(Object sender, EventArgs e) in E:\AdvancedHMIv319\AdvancedHMI\MainForm.vb:line 1274    at System.Windows.Forms.Timer.OnTick(EventArgs e)    at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)    at System.Windows.Forms.Application.Run(ApplicationContext context)    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String commandLine)    at MfgControl.AdvancedHMI.My.MyApplication.Main(String Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81    at System.AppDomain._nExecuteAssembly(Assembly assembly, String args)    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String args)    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)    at System.Threading.ThreadHelper.ThreadStart()
      InnerException:

    ? Thanks,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-07

    p.s. the timer is set to 250ms

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-07

    What's strange, is I can put 65 basiclabels on the form, and it picks up the values no probs.  I'm not worried about this now, because as i'm only viewing the labels and not using the returned values for anything else, i can just use the classes that i made up.  so thanks anyway, if you do manage to recreate it, let me know and i can do some more testing.  thanks Archie,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-08

    I'm still having trouble, because, i tried to disable.subscriptions = true, on the first form, but as i'm using one ethernetdriver for all the forms, it seems to be carrying on with the subscriptions.  how do i disable specific subscriptions?  i tried the unsubscribe command but can't work it out.      thanks,

     
  • Archie

    Archie - 2011-11-08

    Are you using a driver instance for each form? The best practice is to use a driver instance on each form and to have this code with each form to stop polling subscriptions when the form is hidden and restart when it is shown:

        '*******************************************************************************
        '* Stop polling when the form is not visible in order to reduce communications
        '* Copy this section of code to every new form created
        '*******************************************************************************
        Private Sub Form_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged
            If Me.components IsNot Nothing Then
                '**********************************************************************
                '* Search for com components (type OmronDriver.Common.IComComponent)
                '**********************************************************************
                For i As Integer = 0 To components.Components.Count - 1
                    If components.Components(i).GetType.GetInterface("IComComponent") IsNot Nothing Then
                        '* Stop/Start polling of the com component based on form visibility
                        DirectCast(components.Components.Item(i), OmronDriver.Common.IComComponent).DisableSubscriptions = Not Me.Visible
                    End If
                Next
            End If
        End Sub

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-08

    no, i'm using one ethernet driver on a form called 'address_Manager' which does all of the subscribing, and then dumps the data into public variables for each of my controls to use.  i went for this option, as having individual drivers for each page sometimes when you changed between forms, some of the controls would briefly be on when they should be off.  however, this project is on an older version, i think its v302, of advancedHMI, perhaps you've done some updates since then in v319?

     
  • Archie

    Archie - 2011-11-08

    I don't remember right off which revision, but at one point there was a siginificant change that prevented data from one driver instance from being processed by another instance.

    I should be caught up with this one priority support task today and be able to setup the SLC 5/05 tomorrow to try to duplicate your issue.

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-08

    ok, thanks for that!  ideally if you could find a common issue with the SLC5/05 and subscribing to more than 59 registers that would be interesing

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-09

    i'll just add my hardware: SLC5/05 - 1747-L552c, with RIO scanner module and miscellaneous 32 port cards - do these make a difference?  thanks,

     
  • aaron tanquerel

    aaron tanquerel - 2011-11-09

    Right, i think i've got an answer; it seems that the subscriptions are coming back on the SLC5/05 but theyre just taking their time - a good 10 seconds between full updates, which is manageable for me.  On the ML1100 they come straight back, but to be fair, the SLC has a lot of code so maybe processor speed is slowing down - it takes a while when doing a save through RSLogix.  What's the maximum update speed, ms, for the subscribe command - i've got it running at 50ms at the moment?     thanks,

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.