Many automation project requires communication with Modbus Rtu / Tcp Ip.You can use Modbus Rtu / Tcp Ip ActiveX with is flexible structure in your projects as a Modbus RTU / Tcp Ip communication interface. Modbus Rtu / Tcp Ip ActiveX is sold with company license. License owners can use this Activex without limitation. At Modbus Rtu / Tcp Ip ActiveX, .NET Framework 3.5 is used. This ActiveX has a very high communication speed. A word of size data can be read 75 times at per second.
ActiveX made by considering to easily meet other probable needs of program and easily attach to user's programs.For this purpose functions that is not contained by ordinary ActiveX's are added for example project save, open saved data.
Thus you can finish your project's all operations about Modbus communication in a couple minutes.






shape
MODBUS RTU PIC SOURCE CODE
FULTEK MODBUS RTU SERVER

shape
Modbus Rtu Vb 2005-2008 Example Project.
General Explanation: Modbus Rtu ActiveX can easily be adapted to your applications. All settings for possible needs of users relevant to the Modbus Rtu made on the ActiveX. These are can be changed from your program also. You can disable this functions from ActiveX settings. For more information please look VB.NET 2005 and VB.NET 2008 samples.
ActiveX made with .NET Framework 3.5. Program demo runs 10 minutes.There is no limitation with the ActiveX tag count.

ActiveX made up by 4 sections:
ToolStrip: This button group has File menu, connect and disconnect buttons. It may become visible or hidden according your choice. You can configure button's functions using ActiveX properties inside your application.
File Menu: This menu contains the buttons for load, save and delete operations.It has New, Open, Save ,SaveAs buttons.
Connect Menu: The menu which has Connect and Disconnect buttons.

StatusStrip: Information group at the ActiveX subsection. The first data in this group is Tag count. Then "Good" successful communication count. "Bad" is the failed communication count.
Query Byte Count: Most important information for this section. According to entered variable address informations ActiveX automaticaly calculates Modbus Rtu query and sends to the PLC. Here according to result of the query you can see the byte count that PLC should send. High number means less packet count. Packet number is more important than packet size for the Modbus Rtu protocol. To improve performance it is necessary to keep down the number of packages.
Error: Here you can see error messages from the PLC.

Rtu Network Menu: Modbus Rtu Network is the first element of this treeview menu. Second element is station, last element is the group. When element selected tag list at the right filled with that element's tags.
Rtu Network: You can see PC port settings and Rtu .NET settings here. When you right click on this area the operation menu opens. Most important parameter of MPI network settings is the pool.interval parameter. By this parameter you can set the period of the queries that sent to the PLC. This has no effect when data written to the PLC. When write command taken data transfers to the PLC without delay.
Station: You should enter station information here.
Adress: Here you should enter PLC modbus address. Each station address must be different from another.
File Repeated Queries: Enter here query repeat number for communication error.
Function Code 6 Enable-Disable: Some PLCs do not use function code 6 at data writing operation. Instead, they use function code 16 which fulfills the same task.
Discrate Max. Block Size: At Modbus protocol 8 to 2000 bits can be read at once. But at some PLCs this package can be smaller. Set maximum package size with this parameter.
Analog Max. Block Size:  At Modbus protocol 1 to 125 registers can be read at once. But at some PLCs this package can be smaller. Set maximum package size with this parameter.

Group: One of the most important matters in ActiveX.All serial communication methods have limited capacity. Different groups can be created in order to use this capacity with best way. With groups "cycle" parameter some groups can be read at every cycle some groups can be read less frequently. Thus some PLC values can be read fast some values can be read slow. Applicable number of groups is 128. Other benefit of the groups is the asists arranging query byte number which will detaily explained later. Moreover, it is useful in tracking the data when communicating a lot of data.

Tag List: Table for creating a new tag, monitoring tag's values and writing new values.  Group must be selected at the left side in order to make operation on this table. If group is not selected only set value can be write. When group selected only the tags that belong to that group are listed. When station or network selected all relevant tags are listed.
Adress: You should enter this column the Tag's address in the PLC. You can enter HEX value here. All you need to do is adding "h" beginning of the value. 
Tag Name: System gives the unused name to added tag. You can change it later then. All tag names must be unique.
Value Type: Shown number types: Boolean, Usigned int16, Signed int16, Bcd, Usigned int32, Signed int32, Floatpoint, Long Bcd, Time Of Day, Date. We think that some number types should be explained. Floatpoint type also known as single. Date type is the day number that named as word. Beginning of date is "1.1.1990".
Read Value: The values that read from PLC shown at this column.
Write Value: The value written on this column is checked if has error first. If it has not error sent to the PLC. Data input process to the PLC is a priority. As soon as after the active query completed write operation activated without waiting other operations.

To obtain the best performance issues must be considered: ActiveX tries to read all tags within the same group once. Calculates the query that will be sent according to the address data entered to the Tag list. If entered adress are consecutive reads all list at once.Number of bytes to be read at one time is limited to 250. ActiveX reports calculated query size with "Query byte count" which resides Statusstrip. If you see different number than your calculated query size probably you made a mistake.
Let's explain the subject with a couple example. Some query examples and total byte sizes are given below.
FULTEK MODBUS RTU SERVER

shape
Rtu ActiveX kullanım kılavuzu
40001        Uint 16
40002        Sint 32
40004        Float.
40006        Sint 16
40005        Uint 32

Query byte count:
1.sorgu: 16 byte
40001        Uint 16
40002        Sint 12
40004        Float.
30006        Sint 16
30005        Uint 32

Query byte count:
1.sorgu: 4 byte
2.sorgu: 4 byte
3.sorgu: 6 byte
40001        Uint 16
40002        Sint 12
40004        Float.
40006        Sint 16
40005        Uint 32

Query byte count:
1.sorgu: 4 byte
2.sorgu: 10 byte
Modbus Rtu ActiveX Propert:
Property Value_(ByVal TagId As UInt32) As String You can use for the writing set value or reading current value. TagId is the line number at the Tag list.
Public FileName_ As String You can read active file name from this variable.
Property LoadSettings_() As String If you give file path in this property automaticaly opens the file. Return value of this property is file path.
Public Sub SaveSettings_(ByVal value As String) Saves existing information with given file name. File name must contain path.
Property Connect_() As Boolean Connects to PLC when this property is true. Disconnects when false. You can query connection state from this property. Returns True when trying to connect to the PLC. You can get the real state from the variable at the bottom.
Public Connection_ As Boolean You can read connection state from this variable. This will true after the establishing connection.
Property PcBaudrate_() As UInt32 You can query and change PC Baudrate value. 
Property ComPort_() As String You can query and change PC serial port name.
Property PcParity_() As String You can query and modify
Pc Parity type.Property PcStopBit_() As UInt16 You can query and modify Pc Stop bit number.
Property PcFlowCon_() As String You can query and modify Pc Flow control type.
Property PollInterval_() As UInt16 You can query and change Poll.Interval value.
Property TimeOutTime_() As UInt16 You can query and modify Timeout interval.
Property StationAdress_(ByVal StationName As String) As UInt16 You can query and change PLC adress.
Property FailRepeatedQueries_(ByVal StationName As String) As UInt16 You can query and modify query repeat number at error.
Property FunctionCode6EnbDis_(ByVal StationName As String) As Boolean You can query and modify if function code 6 is enabled or disabled.
Property CoilBlockSize_(ByVal StationName As String) As UInt16 You can query and modify Coil maximum package size.Property
DiscInpBlockSize_(ByVal StationName As String) As UInt16 You can query and modify Discrate Input maximum package size.
Property HoldingBlockSize_(ByVal StationName As String) As UInt16 You can query and modify Holding maximum package size.
Property AnInpBlockSize_(ByVal StationName As String) As UInt16 You can query and modify input maximum package size.

Function TagList_() When this function runs returns all of the Tag list as an Array.
Function TagListErr_() Returns If tag list has erroneus value returns False if not returns True. 
Public Sub NotAvailableTagName(ByVal TagName As Array) When you use more than one Rtu or when you have tags other than this ActiveX you can write existing tag list to the AcvtiveX with this function. Thus while checking tag names that in the ActiveX this list checked too. Thus providing unique tag names controlled in this list and at other tags.
Property GroupCycle_(ByVal GroupName As String) As UInt16 Returns or changes cycle values of entered group. 
Property FileMenu_() As Boolean Gets or sets visible or hidden states of file menu buttons.
Property ConnectButton_() As Boolean Gets or sets visible or hidden states of Connect and Disconnect buttons.
Property ToolStrip_() As Boolean Gets or sets visible or hidden states of ToolStrip.
Property StatusStrip_() As Boolean Gets or sets visible or hidden states of StatusStrip.
Property TreeviewMenu_() As Boolean Disables or enables right click menu on Rtu Network treeview.
Property DataGridMenu_() As Boolean Disables or enables right click menu on Tag list.

Event:
Event MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
Event Connected_(ByVal sender As Object, ByVal Status As Boolean) Reports state data to main program as an interrupt when connection established or disconnected.
Event ReadValue_(ByVal sender As Object, ByVal TagId As UInt32, ByVal Value As String) When read operation from PLC occured if read value different from previously read value this interrupt reports tag value to the main program with line number at the tag list. All tag values sent once when communication first started.
Event ReadErr_(ByVal sender As Object, ByVal TagId As UInt32) The errors while PLC read operations reported to the main program with line number at the tag list.
Event SetErr_(ByVal sender As Object, ByVal TagId As UInt32) When set values not appropriate or can't written to the PLC the error reports to the main program with line number at the tag list. 
Event TimeOut_(ByVal sender As Object, ByVal StationName As String) When cannot established connection with the PLC reports timeout state of the ActiveX to the main program. 
Event GenericErr_(ByVal sender As Object, ByVal Message As String) Many error reports to main program with this interrupt. This interrupt contains error message also.
Modbus Rtu .Net component Pro.
Modbus ActiveX
Modbus Software
Rtu ActiveX
Rtu Software
Modbus Server
Modbus Remote
Modbus Slave
Modbus Master
Modbus .Net
Modbus Vb.
Modbus VisualBasic
Modbus Visual Basic
100 Usd.
Modbus Rtu ActiveX
Türkçe