News:

  • May 17, 2026, 03:15:49 AM

Login with username, password and session length

Author Topic: hei_pas.dll on different computer  (Read 41181 times)

chrisatwan

  • Full Member
  • ***
  • Posts: 30
hei_pas.dll on different computer
« on: March 05, 2010, 08:20:59 AM »
I am trying to use the visual basic package and deployment to put an application using the hei_pas.dll on another pc but it is not working. I include the hei_pas.dll and after setup on the other PC I see it in the same folder as the application but I keep getting error 53 stating that the dll can't be found. Has anyone else tried this or has similiar problem?

Regards,
Christopher Atwa

b_carlton

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 606
    • thePLCguy
Re: hei_pas.dll on different computer
« Reply #1 on: March 05, 2010, 09:57:21 AM »
Did the installation register the dll? And sometimes a restart is necessary for the 'registration of the dll to 'take'.
An output is a PLC's way of getting its inputs to change.

chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #2 on: March 05, 2010, 12:15:18 PM »
I get the "LoadLibray("c:\Program Files|SMED Data Watch\HEI_PAS.dll")failed - The specified module could not be found". The HEI_PAS.dll is in the folder but can't seem to register it.


chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #3 on: March 05, 2010, 12:16:21 PM »
I should of wrote "c:\Program Files\SMED Data Watch\HEI_PAS.dll" in the post.

chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #4 on: March 05, 2010, 12:26:50 PM »
Did a restart and tried registering the dll and got the same error. I wonder if this is not a redistributable dll and can only reside on the PC where the source code is.

MikeS

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 261
    • Host Engineering, Inc.
Re: hei_pas.dll on different computer
« Reply #5 on: March 05, 2010, 03:46:26 PM »
that DLL needs to be in the same folder as the file HEI32_3.DLL
Good design costs a lot. Bad design costs even more.

chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #6 on: March 05, 2010, 05:13:10 PM »
So I need to include the HEI32_3.dll as well as the HEI_PAS.dll in the folder with the application for visual basic?

chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #7 on: March 11, 2010, 10:11:33 AM »
I thought I had my application working using the VB ethernet SDK but I have another problem. I have an ECOM module installed on a machine in Ohio and the IP address in 192.168.43.202 and I was monitoring what was going on from my IP address 192.168.52.122 with no problems. I remembered that I have an ECOM module installed in a rack in my office and once I disconnected the cat5 cable from the ECOM module in my office I no longer could connect to the ECOM in Ohio, both ECOM modules have different IP address. I am sure that the PASCAL_HEIQuery detects the ECOM on my LAN but how can I have it detect one specific ECOM with a certain IP address?


Thank you,
Christopher Atwan

MikeS

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 261
    • Host Engineering, Inc.
Re: hei_pas.dll on different computer
« Reply #8 on: March 11, 2010, 04:17:25 PM »
Yes, you will need to ship both DLLs, HEI_PAS.DLL is only an interface DLL to the actual APIs in HEI32_3.DLL.

The problem with Querying for remotely located ECOMs is that the HEIQueryxxx() APIs use broadcast packets to do the work, and internet-aware routers/bridges/swtches don't forward broadcasts.

As you've no doubt figured out, all the HEIQuery APIS are doing is finding all of the ECOMs and creating HEIDevice structures for all of the ones it finds. So, all that you will need to do is manually create an HEIDevice structure for the target ECOM and use HEIOpen with your manually created structure.

Here's a chunk of code from a VB6 application that pokes the data into an HEIDevice structure:

' If you'd rather not query the network for Host Ethernet devices, you can manually place the
' the required Ethernet information in the HEIDevice structure then call PASCAL_HEIOpenDevice
' just as you would after a query operation. The key is getting the required information into
' the correct places in the structure. Refer to the following example:
'
' aDevices(X).Address(0) = 2         ' Family= AF_INET
' aDevices(X).Address(1) = 0
 
' aDevices(X).Address(2) = &H70      ' ECOMs use Port number 7070(Hex)
' aDevices(X).Address(3) = &H70
 
' aDevices(X).Address(4) = 192       ' IP Address of the ECOM is 192.168.26.100
' aDevices(X).Address(5) = 168
' aDevices(X).Address(6) = 26
' aDevices(X).Address(7) = 100
Good design costs a lot. Bad design costs even more.

chrisatwan

  • Full Member
  • ***
  • Posts: 30
Re: hei_pas.dll on different computer
« Reply #9 on: March 13, 2010, 02:21:59 PM »
Mike,

Thank you I tried that and it has worked fine.

MikeS

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 261
    • Host Engineering, Inc.
Re: hei_pas.dll on different computer
« Reply #10 on: March 15, 2010, 09:12:17 AM »
most excellent
Good design costs a lot. Bad design costs even more.